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


Anmelden zum Antworten