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

Mysql select consulta una tabla

Estas en el tema de Mysql select consulta una tabla en el foro de Mysql en Foros del Web. Buenas tardes tengo que hacer una consulta con un filtro usando una tabla Ejemplo: TABLA 1 pid | nombre 169 | propiedad 1 TABLA 2 ...
  #1 (permalink)  
Antiguo 05/01/2016, 13:48
 
Fecha de Ingreso: junio-2008
Mensajes: 74
Antigüedad: 15 años, 10 meses
Puntos: 2
Mysql select consulta una tabla

Buenas tardes tengo que hacer una consulta con un filtro usando una tabla

Ejemplo:

TABLA 1
pid | nombre
169 | propiedad 1

TABLA 2
aid | nombre
5 | caracteristica 1
21 | caracteristica 2
59 | caracteristica 3

TABLA 3
id | pid | aid
1 | 169 | 21
2 | 169 | 5
3 | 169 | 59
4 | 168 | 5
5 | 155 | 22
6 | 156 | 59

MI pregunta es como hago yo para saber si se encuentran en la tabla 3 de la propiedad 169 dados un filtro. ejemplo quiero saber si de la propiedad 169 tiene 21 y 59 de tenerlo me debe dar una resultado osea me deberia mostrar los 2 y sino no me deberia mostrar nada ejemplo si del 169 quiero saber si tiene el aid 22 y 21 el me deberia dar cero. tengo esta consulta pero no me funciona.

Código SQL:
Ver original
  1. SELECT * FROM `TABLA3` WHERE pid=169 AND aid IN(22,21)
retorna una fila con el de 21 QUIERO QUE ESTRICTAMENTE TENGA LAS 2 PARA PODER MOSTRAR LA FILA SINO NO.

Código MySQL:
Ver original
  1. SELECT * FROM `TABLA3` WHERE pid=169 and aid IN(5,21)
retorna dos filas con la 5 y la 21.

Última edición por gnzsoloyo; 05/01/2016 a las 18:58
  #2 (permalink)  
Antiguo 05/01/2016, 15:06
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Mysql select consulta una tabla

pregunta, siempre van a ser 2 valores?? o puden ser mas de 2?? porque podrias hacerlo que te regrese los valores cuando el contador sea=2 pero no se si quieras usar mas de 2 valores.....
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 05/01/2016, 19:01
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Mysql select consulta una tabla

La duda puntual es un caso de manual:

Código MySQL:
Ver original
  1. FROM `TABLA3`
  2. WHERE pid =(SELECT pid
  3.         FROM `TABLA3`
  4.         WHERE pid=169 AND aid IN(22,21)
  5.         GROUP BY pid
  6.         HAVING COUNT(*) = 2)
  7.     AND aid IN(22,21)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: select, tabla
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 22:33.