Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/08/2015, 09:50
oggy_15_3
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 9 años, 1 mes
Puntos: 8
Respuesta: Registro duplicado/ sentencia inner join

Cita:
Iniciado por Blace57 Ver Mensaje
Hola a todos estoy tratando de hacer una consulta de busqueda con 5 tablas en mysql el problema que tengo es que me muestra el resultado pr duplicado
Esta es la relacion que tengo

Esta es mi consulta
SELECT nacionalidad.ID_NACIONALIDAD, nacionalidad.NOMBRE_NACIONALIDAD, nacionalidad.CANTIDAD, nivel_educacion.NIVEL, nivel_educacion.ESTADO_EDUCACION, nivel_educacion.CANTIDAD_EDUCANDOS, servicio_basico.TIPO_SERVICIO, servicio_basico.ESTADO, servicio_basico.CANTIDAD_ABONADOS
FROM nacionalidad
INNER JOIN edunac ON edunac.ID_NACIONALIDAD= nacionalidad.ID_NACIONALIDAD
INNER JOIN nivel_educacion ON nivel_educacion.ID_EDUCACION = edunac.ID_EDUCACION
INNER JOIN nacserbas ON nacserbas.ID_NACIONALIDAD= nacionalidad.ID_NACIONALIDAD
INNER JOIN servicio_basico ON servicio_basico.ID_SERVICIO = nacserbas.ID_SERVICIO WHERE NOMBRE_NACIONALIDAD=%s ORDER BY NOMBRE_NACIONALIDAD ASC", GetSQLValueString($colname_rsvoluntarios, "text"));

Y este es el resulatdo


En este resultado deberian aparecer solo dos resultados uno que diga "Basico" y el otro "Secundaria" y no como esta ahi dos de cada uno no se cual es el error si alguien me pudiera ayudar de antemano muchas gracias por su ayuda.
¿Entre tus resultados duplicados se muestra el mismo valor en el campo cantidad?
Si el resultado de ese campo es distinto sólo tienes que agrupar los campos.
GROUP BY nacionalidad.ID_NACIONALIDAD,, para usar la clausula GROUP BY tendrías que usar el select
de la siguiente manera

SELECT nacionalidad.ID_NACIONALIDAD, nacionalidad.NOMBRE_NACIONALIDAD, COUNT(nacionalidad.CANTIDAD)AS CANTIDAD,.... from ...


¿Qué datos tiene la tabla edunac?
Por otro lado, creo que este post debería de estar en mysql y no php. jejeje