Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Ayuda con una Query por favor !

Estas en el tema de Ayuda con una Query por favor ! en el foro de Mysql en Foros del Web. Hola yo tengo armada una base con esa estructura. en identificacionPersona, tengo las personas con su edad. IdentificacionPersonaNombre, IdentificacionPersonaEdad, EncuestaID es Fk de encuesta. Ahora: ...
  #1 (permalink)  
Antiguo 26/01/2010, 10:48
 
Fecha de Ingreso: noviembre-2008
Mensajes: 62
Antigüedad: 11 años
Puntos: 0
Ayuda con una Query por favor !




Hola yo tengo armada una base con esa estructura.

en identificacionPersona, tengo las personas con su edad.

IdentificacionPersonaNombre, IdentificacionPersonaEdad, EncuestaID es Fk de encuesta.


Ahora:

En encuestoHogar.

HogarId, HogarAuto. esta ultima es Varchar (y tiene como dato true o false)


Mi pregunta es, Necesito saber todas las personas mayores de 18 años, que en su hogar haya auto


En la estructura que subi, se muestran las FK por tabla, La segunda clave de cada tabla, es fk de la tabla anterior ( aclaro por las dudas).


alguna idea ?
Gracias
  #2 (permalink)  
Antiguo 26/01/2010, 11:05
 
Fecha de Ingreso: noviembre-2008
Mensajes: 62
Antigüedad: 11 años
Puntos: 0
Respuesta: Ayuda con una Query por favor !

select * from identificacionPersona where identificacionpersonaedad > 17 and
(select * from encuesta
where encuestaid in (select encuestaid from encuestahogar
where hogarauto = 'true'))

hice esta consulta, sin contar el primer select, lo demas me anda bien, que me devuelve los hogares donde tienen auto, pero cuando agrego el select de arriba para filtrar las edades me tira este error. no se si sera algun parentesis mal puesto , y tampoco se si se pueden anidar 2 select.

Mens. 4145, Nivel 15, Estado 1, Línea 4
Se especificó una expresión no booleana en un contexto donde se esperaba una condición, cerca de ')'.
  #3 (permalink)  
Antiguo 26/01/2010, 11:12
 
Fecha de Ingreso: noviembre-2008
Mensajes: 62
Antigüedad: 11 años
Puntos: 0
Respuesta: Ayuda con una Query por favor !

select * from identificacionPersona where identificacionpersonaedad > 17 and encuestaid in
(select encuestaid from encuestahogar
where hogarauto = 'true')

el segundo select me devuelve - 559 filas

pero cuando filtro los mayores de 18, me devuelve 1451 filas, como puede ser?

igual creo q esta bien, por que en una encuesta, hay muchas personas y en encuestapersonaid, tienen la misma Encuestaid , por eso se extiende mas. pero ya me di cuenta que lo hice bien.

Gracias igua.
  #4 (permalink)  
Antiguo 26/01/2010, 11:31
 
Fecha de Ingreso: agosto-2009
Ubicación: Jalisco,Mexico
Mensajes: 28
Antigüedad: 10 años, 3 meses
Puntos: 2
Respuesta: Ayuda con una Query por favor !

Prueba con esto

Código SQL:
Ver original
  1. SELECT p.*,h.HogarID FROM identificacionPersona p INNER JOIN EncuestaHogar h ON h.EncuestaID=p.EncuestaID WHERE p.identificacionpersonaedad > 17 AND h.hogarauto = 'true'

Etiquetas: favor, query
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:49.