Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/08/2008, 19:54
taxiarcos
 
Fecha de Ingreso: agosto-2008
Mensajes: 26
Antigüedad: 15 años, 9 meses
Puntos: 0
Más de dos left join??

Hola a todos,

Tengo la versión 4.0.27 de MySQL

Estoy trabajando con las siguientes tables que estan relacionadas:

CLIENTS (n,1) TE (1,n) OPERACIONS rel:
OPERACIONS (n,1) ENLLAÇ (1,n) FINQUES
CLIENTS (n,1) POSEIX (1,n) FINQUES

O sea en total 6 tablas (solo se utiliza en la consulta 4 de las tablas)

Y me gustaria hacer el siguiente a grandes rasgos. Con la funcion EXCEPT (MINUS) sería asi de facil:

SELECT DISTINCT finques.id_fi FROM finques,poseix,te WHERE te.operacions_numop='$numop' AND te.clients_nif=poseix.clients_nif AND poseix.finques_id_fi=finques.id_fi
EXCEPT
SELECT enllaç.id_fi FROM enllaç,finques WHERE enllaç.operacions_numop='$numop' AND enllaç.finques_id_fi=finques.id_fi

El problema que tengo con esta consulta es que la resta EXCEPT no se puede usar en mi versión, ni tan siquiera las subconsultas aunque el LEFT JOIN se puede usar para restar de la manera:

SELECT ... FROM ... LEFT JOIN ... ON ..... WHERE id IS NULL

He probado mil combinaciones para dar con la solución anterior incluso usando más de dos LEFT JOIN....

Estoy bastante rallado con el tema, además me es imposible cambiar de MySQL porque lo tengo en un hosting, aparte que ya esta en explotación.

Alguna solución??