Usuń wiersze, do których NIE odwołuje się klucz obcy
Jest to trochę związane zto pytanie:
Mam tabelę z kluczem podstawowym i mam kilka tabel odwołujących się do tego klucza podstawowego (przy użyciu kluczy obcych). Muszę usunąć wiersze z tej tabeli, gdzie klucz podstawowy nie jest przywoływany w żadnej z tych innych tabel (a także w kilku innych ograniczeniach).
Na przykład:
Group
groupid | groupname
1 | 'group 1'
2 | 'group 3'
3 | 'group 2'
... | '...'
Table1
tableid | groupid | data
1 | 3 | ...
... | ... | ...
Table2
tableid | groupid | data
1 | 2 | ...
... | ... | ...
i tak dalej. Niektóre wiersze w Grupie nie są przywoływane w żadnej z tabel i muszę usunąć te wiersze. Oprócz tego muszę wiedzieć, jak znaleźć wszystkie tabele / wiersze, które odwołują się do danego wiersza w grupie.
Wiem, że mogę po prostu odpytywać każdą tabelę i sprawdzać grupy, ale ponieważ są to klucze obce, wyobrażam sobie, że jest na to lepszy sposób.
Nawiasem mówiąc, używa to Postgresql 8.3.