@sherlock said:
ciao a tutti,
devo fare una query SQL con un JOIN su due tabelle che non sono collegate tra loro, ovvero:
SELECT * FROM t1 JOIN t2 ON t1.pippo=t2.id JOIN t3 ON t1.pluto=t3.id WHERE....
come posso fare? dato che t2 e t3 non so
non in alcuna relazione fra loro?
grazie!
Marco
Se la relazione non esiste nel DB puoi comunque fare la join via codice ma rallenterà un pò l'elaborazione (dipende dal numero di records).
In ogni modo NON fare più di UN JOIN per ogni query di questo tipo (senza relazione esplicita). Quindi:
SELECT * FROM t1 INNER JOIN t2
ON t1.pippo=t2.id
WHERE....
PS: Se ti serve* necessariamente* il dato di una terza tabella collegata prenditi solo l'ID ( cioè la chia ve esterna presente in una delle due tabelle: t1 o t2) poi, in seguito (via codice) te lo vai a decodificare con una nuova semplice query di lookup (select descr from t3 where t3.id=chiave_esterna_di_prima;).
Altro consiglio, non usare "select * " ma specifica lo stretto necessario...
select campo1, campo2, ... from t1 inner join t2 ....