147 messaggi dal 17 settembre 2001
Salve a tutti...
Non riesco a trovare una soluzione ad un problema strettamente sql.
Ho due tabelle legate tra loro da una relazione 1 a 1...
Da una di queste due tabelle è stato cancellato erroneamente un record...

La domanda è questa:

Esiste un modo con SQL per trovare il record rimasto disaccoppiato nell'altra tabella?

Grazie a tutti

Ho visto cose che voi Italiani non potete neanche immaginare.... (Enrico Bertolino)
1 messaggio dal 25 giugno 2004
ho una soluzione semplice, ma potrebbe essere poco performante se le tabelle sono troppo grosse.

select id as id_orfano
from tabbella_con_orfani
where id not in (
select id from tabella_collegata
)

si tratta di una query con quey innestata. Nella query più interna estraggo tutti i valori chiave, e in quella esterna estraggo tutte le chiavi che non sono contenute nel risultato precedente.

Se sui campi chiave che hai usato per la relazione ci sono degli indici (come penso) dovrebbe comunque essere abbastanza performante anche con migliaia di record.

ciao
Emanuele
147 messaggi dal 17 settembre 2001
Grazie mille....
Funziona, e non c'è problema sulle performance..... Non è velocissima ma il server lo uso solo io, quindi va benissimo...

Ciao.

Ho visto cose che voi Italiani non potete neanche immaginare.... (Enrico Bertolino)

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.