PHP - Consultas en mysql com php

   
Vista:
Imágen de perfil de Angel

Consultas en mysql com php

Publicado por Angel (20 intervenciones) el 30/08/2015 15:21:45
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
rel
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
res


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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Vainas

Consultas en mysql com php

Publicado por Vainas (254 intervenciones) el 30/08/2015 19:06:31
Buenas:

Yo creo que la consulta hace lo que dices. Si quieres un resultado que sea solo Basico y Secundaria tendras que decir sobre el campo "Servicio Basico" quieres sobre Luz o Agua. Asi que te faltaria algo como

WHERE..... OR Servicio_Basico = "Agua | Luz " y usar alguno de esos dos valores.


Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Blace

Consultas en mysql com php

Publicado por Blace (20 intervenciones) el 30/08/2015 21:32:42
Hala, gracias por responder creo que no me hice entender bien la consulta si hace lo que quiero pero el problema es que me esta duplicando los registros en el resultado que muestro arriba deberian aparecer solo dos registros pero me esta duplicando otro registro por cada uno q deberia apareces por eso me muestran 4 registros y no dos como deberia por eso no se donde esta el error que hace q se dupliquen los registros, perdona la redundancia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consultas en mysql com php

Hola creó que lo puedes solucionar con group by de esa manera evitas la duplicación.

Espero te ayude.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vainas

Consultas en mysql com php

Publicado por Vainas (254 intervenciones) el 01/09/2015 10:50:39
Buenas:

Carlos lo que dices tiene razon pero tendrias que agrupar por la columna "Servicio Basico" o por "Nivel de Educacion" y al agrupar por una u otra tendrias que eliminar la columna por la que NO agrupes en el SELECT ya que sino dara error.

Ahora mismo me veo espeso pero no creo que se pueda agrupar por las dos a la vez por ejemplo.

Dinos cual es el resultado que tendria que salir?

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Angel

Consultas en mysql com php

Publicado por Angel (20 intervenciones) el 02/09/2015 05:32:58
Gracias por responder el resultado que busco es el siguiente
re

La consulta hace referencia a una determinada nacionalidad la cantidad total de personas de esa nacionalidad, del total de personas cuantos tienen educacion primaria, secundaria o superios y cuantos poseen servicios basicos como luz(electricidad), agua o telefono.
La consulta que realizo me muestra lo que quiero pero por duplicado y no se donde esta el error si estoy haciendo mal la consulta o q.
Gracias de antemano por su tiempo y ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar