PDA

View Full Version : estrazione dati da più tabelle in SQL


vani.bul
15-11-2010, 12:35
Salve a tutti,

Dovrei confrontare sul DB 2 tabelle che contengono un'enorme quantità dei dati, legate da un IDobject comune. Da quelle due tabelle non vorrei estrarre una set che mi restituisce tutte le righe che hanno IDobject uguali, ma una set che contiene tutti quelli IDobject della seconda tabella che non sono contenute nella prima.


SELECT tab1.OBJECTID, tab2.OBJECTID
FROM Tabella_1 tab1, Tabella_2 tab2
WHERE tab1.OBJECTID <> tab2.OBJECTID

Questa estrazione non mi sembra corretta, in quanto mi sa che fa un prodotto cartesiano.... :mc:
Potete darmi una mano????

Scusate, ma non sono moltro prattica con SQL
Grazie in anticipo

loop4633
15-11-2010, 15:07
Penso che dovresti fare qualcosa di ricorsivo, sono un po arrugginito di sql cmq ti dico come lo farei io, provalo:


SELECT tab2.OBJECTID
FROM Tabella_2 tab2
WHERE tab2.OBJECTID NOT IN
(SELECT tab1.OBJECTID
FROM Tabella_1 tab1);


ciao

vani.bul
15-11-2010, 16:13
Grazie 1000!!

Lo ho provato funziona... è la sottrazione da due insiemi :)

loop4633
15-11-2010, 16:24
Di nulla figurati!:)

kyxzme
15-11-2010, 18:06
EXISTS dovrebbe essere più veloce di IN teoricamente, provale entrambe se ti va

vani.bul
16-11-2010, 13:40
@kyxzme: Grazie, funziona alla grande!!!!!!!!!! ;)