Ver Mensaje Individual
  #7 (permalink)  
Antiguo 14/11/2017, 15:45
Avatar de bacc
bacc
 
Fecha de Ingreso: febrero-2009
Ubicación: Argentina
Mensajes: 33
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Consulta Select "compleja"

Nop, me da error en el having y si se lo saco me da cualquier numero...

Lo más "cerca" que estoy es con esto :

Código MySQL:
Ver original
  1. SELECT DISTINCT(usrs.id), usrs_p7.id_padre, usrs_p7.id_informatica, usrs_p7.nivel
  2.  FROM usrs LEFT JOIN usrs_p1 ON usrs.id= usrs_p1.id_padre LEFT JOIN usrs_p2 ON usrs.id= usrs_p2.id_padre LEFT JOIN usrs_p3 ON usrs.id= usrs_p3.id_padre LEFT JOIN usrs_p4 ON usrs.id= usrs_p4.id_padre LEFT JOIN usrs_p5 ON usrs.id= usrs_p5.id_padre LEFT JOIN usrs_p6 ON usrs.id= usrs_p6.id_padre LEFT JOIN usrs_p7 ON usrs.id= usrs_p7.id_padre LEFT JOIN usrs_p8 ON usrs.id= usrs_p8.id_padre LEFT JOIN usrs_p9 ON usrs.id= usrs_p9.id_padre LEFT JOIN usrs_p10 ON usrs.id= usrs_p10.id_padre LEFT JOIN usrs_p11 ON usrs.id= usrs_p11.id_padre
  3.  WHERE (usrs_p7.id_informatica='1' AND usrs_p7.nivel>='1') OR (usrs_p7.id_informatica='9' AND usrs_p7.nivel>='1')

Devuelve esto:

id id_padre id_informatica nivel
------ -------- -------------- --------
3 3 1 3
3 3 9 3
4 4 1 3
7 7 1 3
8 8 9 2
6 6 1 3
9 9 1 3
6 6 9 3

Acá me interesa extraer los que cumplen la condición del valor id_padre (o id) 3 ; donde esta el id_informatica 1 y también el 9.

Pero hay que tener en cuenta que en el WHERE se le pueden agregar otras AND (por ej de estado civil) que no deberían interferir.

Se entiende ?