Michał Kowalski Bazy danych
Temat: To miało być proste zapytanie....
Witam,Chciałem [Oracle] połączyć left joinem 3 tabele do jednej nadrzednej, wszytko łączy się po id_platności
Tabele są zbiorami płatności,
proby > merytoryczne > deklaracje
100% rekordów tabeli dekalracje jest w tabeli merytoryczne
100% rekordów tabeli merytoryczne jest w tabeli proby
chciałem połączyć 3 powyższe tabele z tabelą płatności w ten sposób
by z "najcenniejszych" deklaracji były wszytki połączone wiersze,
z tabeli merytoryczne połączyłby się tylko te które nie wystąpiły w połączeniu z deklaracje,
natomiast z tabeli próby tylko te które nie wystąpiły z połączenia z tabelami merytoryczne i deklaracje.
Wydawało mi się, że poniższy select załatwi sprawę, a okazało się że nie mam nic z tabeli merytoryczne i próby
SELECT *
FROM platnosci
left JOIN
deklaracje ON deklaracje.id=platnosci.id
left JOIN
merytoryczne ON meryt.id=platnosci.id AND merytoryczne.id!=deklaracje.id
left JOIN
proby ON proby.id=platnosci.id AND proby.id!=merytoryczne.id AND proby.id!=deklaracje.id
Outer joiny też nie pomogłyTen post został edytowany przez Autora dnia 22.10.14 o godzinie 12:10