sql Join Abfrage liefert doppelte Ergebnisse
-
Hallo,
ich habe hier eine join Abfrage aus 5 tabelle.
Tabelle A(A_id,B_id,C_id, ...) verweist auf Tabellen B(B_id,D_id,...) und C(C_id,D_id,...)
Tabellen B und C verweisen auf Tabelle D(D_id,E_id, ...)
Tabelle D verweist auf Tabelle E(E_id, ...)ich möchte werte haben aus Tabellen A und B mit Kriterien aus E und C.
die sql Abfrage:
SELECT A.Feld1, B.Feld1, B.Feld2 FROM A INNER JOIN C ON A.C_ID = C.C_ID INNER JOIN D ON C.D_ID = D.D_ID INNER JOIN E ON D.E_ID = E.E_ID INNER JOIN B ON A.B_ID = B.B_ID AND D.D_ID = B_D_ID WHERE (E.Feld1 = '908-RUNI__') AND (E.Feld2 = '0') AND (E.Feld3 = '1') AND (E.Feld4 = 'A') AND (C.Feld1 = '1111') ORDER BY B.CREATION_DATE DESC, B.B_ID DESC
diese Abfrage liefert mir bei manche datensätze doppelte Einträge.
habe ich einen fehler in meiner Abfrage oder muss ich zusätzlich distict oder group by anwenden?
-
Ohne Dir jetzt eine Lösung zu geben:
Es gibt auch noch Leftjoin, outer join, etc.Schau mal ob Du damit das richtige findest.
-
oder distinct