Ciao a tutti, sto cercando di ottenere una query ricorsiva che mi trovi tutta l'alberatura di dipendenze di un record. Mi spiego meglio:
Ho una tabella con due colonne (padre e figlio) in cui sono contenuti due identificativi di record che per qualche motivo sono correlati tra loro (ad esempio il contenuto è un duplicato).
Quindi ho:
Padre Figlio
1234 1235
1234 1236
1234 1237
1237 1238
1238 1236
1236 1239
Ora vorrei ottenere, con una query non troppo pesante, tutti gli id che hanno una correlazione, anche non diretta, tra loro.
Ovvero osservando l'id 1239 dovrei vedere tutte le correlazioni (1234, 1235, 1236, 1237, 1238). L'unico modo che mi è venuto in mente fin'ora è di cercare tutti i record dove 1239 è in Padre o in Figlio e poi per ogni record trovato
eseguire la stessa query: seleziono tutti i record dove id_trovato è in padre o in figlio e non è uguale a id_trovato o record di partenza (1239).
Il problema che ho è che se lo stesso id lo trovo andando a cercare i padri o i figli di un altro id mi infilo in un loop : ad esempio questo accadrebbe con il record 1236 che è sia in padre che in figlio ed è correlato a record differenti.
Qualcuno mi può aiutare a risolvere?