Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/02/2015, 19:27
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: Obtener todos los registros no pertenecientes a un evento

Está mal escrita, y muy mal usado el JOIN.
El INNER JOIN sólo puede vincular registros que coinciden en una condición, pero no devuelve los no coincidentes, por lo que el primer INNER JOIN devuelve una tabla nula, y a partir de alli esa consulta no devuelve resultados.
Lo que debes usar es LEFT JOIN, no INNER JOIN, y escrito de otra forma.

Código SQL:
Ver original
  1. SELECT *
  2. FROM contactos C
  3.     LEFT JOIN eventos_contactos EC ON C.id = EC.id_contacto
  4.     INNER JOIN eventos E ON EC.id_evento = E.idevento
  5. WHERE EC.idevento = eventobuscado
  6. AND EC.id_contacto 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)