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 originalSELECT *
FROM tabla1 INNER JOIN tabla2 ON tabla2.id_usuario = tabla1.id
WHERE tabla1.desregistrado = '0' AND tabla2.id_grupo = 4;
no es:
Código sql:
Ver originalSELECT *
FROM tabla1 INNER JOIN tabla2 ON tabla2.id_usuario = tabla1.id
WHERE tabla1.desregistrado = '0' AND tabla2.id_grupo <> 4;
sino:
Código sql:
Ver originalSELECT *
FROM tabla1 INNER JOIN tabla2 ON tabla2.id_usuario = tabla1.id
WHERE tabla1.desregistrado <> '0' AND tabla2.id_grupo <> 4;
o bien:
Código sql:
Ver originalSELECT *
FROM tabla1 INNER JOIN tabla2 ON tabla2.id_usuario = tabla1.id
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.