Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/08/2011, 05:55
Avatar de gnzsoloyo
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: Select de id_ que no estén en otra tabla...

Con LEFT JOIN e IS NULL:
Código MySQL:
Ver original
  1. SELECT E.*
  2. FROM eventos E LEFT JOIN caracteristicas C ON E.id_evento = C.id_evento
  3. WHERE C.id_evento IS NULL;

LEFT JOIN devuelve todo lo de la primera tabla (la de la izquierda), tenga o no coincidencias scon la segunda. Al buscar donde en la segunda tabla id_evento sea NULL, estás obteniendo sólo los de evento que no tengan su respectivo registro relacionado en la segunda tabla.
Si la relación fuese 1:N, además deberás incluir DISTINCT para evitar duplicidades de eventos:
Código MySQL:
Ver original
  1. FROM eventos E LEFT JOIN caracteristicas C ON E.id_evento = C.id_evento
  2. WHERE C.id_evento IS NULL;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)