Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/09/2014, 03:58
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Consultar datos que no aparecen en una consulta a tabla

nixiatt,
no puedes buscar algo que no tengas archivado o que no puedas generar con la base. Lo primero es hacer un producto cartesiano sobre contact para establecer todos los posibles contactos usando como referencia el id de ese usuario y quitando, claro, los contactos con uno mismo. Esa consulta se convertirá en una tabla virtual con la que comparar los datos que tienes en Asccontact de ese usuario mediante left join. La consulta sería algo así:

Código MySQL:
Ver original
  1. SELECT t3.id2 FROM
  2.  (SELECT t1.id, t2.id id2 FROM contact t1 CROSS JOIN contact t2 WHERE t1.id <> t2.id AND t1.id = 1)t3
  3.  LEFT JOIN (SELECT idcprincipal, contactid FROM asccontact WHERE idcprincipal = 1)t4
  4.    ON t3.id2 =t4.contactid
  5.  WHERE t4.contactid IS NULL