Ver Mensaje Individual
  #4 (permalink)  
Antiguo 10/11/2009, 09:23
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: Resultados no coincidentes con JOIN

Cita:
Creo que el problema debe estar en el "join", pero no sé bien de qué forma.
No necesariamente. El complemento de:
Código sql:
Ver original
  1. SELECT *
  2. FROM tabla1 INNER JOIN tabla2 ON tabla2.id_usuario = tabla1.id
  3. WHERE tabla1.desregistrado = '0' AND tabla2.id_grupo = 4;
no es:
Código sql:
Ver original
  1. SELECT *
  2. FROM tabla1 INNER JOIN tabla2 ON tabla2.id_usuario = tabla1.id
  3. WHERE tabla1.desregistrado = '0' AND tabla2.id_grupo <> 4;
sino:
Código sql:
Ver original
  1. SELECT *
  2. FROM tabla1 INNER JOIN tabla2 ON tabla2.id_usuario = tabla1.id
  3. WHERE tabla1.desregistrado <> '0' AND tabla2.id_grupo <> 4;
o bien:
Código sql:
Ver original
  1. SELECT *
  2. FROM tabla1 INNER JOIN tabla2 ON tabla2.id_usuario = tabla1.id
  3. WHERE NOT (tabla1.desregistrado = '0' AND tabla2.id_grupo = 4);
desde el momento en que el WHERE tiene dos condiciones, no una. Por lo tanto el complemento debe incluir la negación de las dos.

Pruebalo y veamos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)