Ver Mensaje Individual
  #11 (permalink)  
Antiguo 26/06/2009, 14:57
daniwish
 
Fecha de Ingreso: enero-2008
Ubicación: Santiago
Mensajes: 14
Antigüedad: 17 años
Puntos: 0
Respuesta: Consulta conflictiva

Logre hacerla en 1 sola consulta!!
la idea era el LEFT JOIN ...
hice 1 consulta para traer todos los clientes con admin 1
y otra consulta pra traer los clientes con admin 0 y los agrupe por nombre de cliente
luego el LEFT JOIN hizo su trabajo.. y rescate todos los resultados que me arrojaban resultado NULL.. ya q esos no tenian niun contacto admin!


SELECT Clientes.Rut, Clientes.Digito, Clientes.RazonSocial, Clientes.Clientede
FROM clientes INNER JOIN (SELECT * FROM (SELECT idEmpresas AS ide FROM contacto WHERE administrador = 0 GROUP BY idEmpresas) AS tbl1
LEFT OUTER JOIN
(SELECT idEmpresas FROM contacto WHERE administrador = 1 GROUP BY idEmpresas) AS tbl2
ON tbl1.ide = tbl2.idEmpresas WHERE tbl2.idEmpresas IS NULL) AS ct2
ON clientes.id = ct2.ide


la idea de un inner join dentro de otro me abrio la mente xd
para hacer un LEFT JOIN entre 2 consultas... eso es nuevo para mi
todos los dias se aprende algo nuevo!


flaviovich gracias por tu tiempo!!