Schönen guten Morgen!
Ich fall gleich mal mit der Tür ins Haus. Also ich hab drei Tabellen, welche ich über folgende Abfrage verknüpfe:
SELECT
TAB_1.ObjektID AS ObjektID,
SUM(TAB_2.Anzahl) AS AnzahlGesamt
FROM TAB_1
LEFT JOIN TAB_2 ON TAB_2.ParentID = TAB_1.ObjektID
LEFT JOIN TAB_3 ON TAB_3.ParentID = TAB_2.ObjektID
GROUP BY TAB_1.ObjektID
Er soll hierbei entsprechenden Childdatensätze zu den In TAB_1 befindlichen Objekten JOINEN und TAB_2.Anzahl summieren und nach dem jeweiligen TAB_1-Objekt gruppieren. Soweit so gut. Das funktioniert aber nur solange, wie ich TAB_3 nicht joine. Denn binde ich diese Tabelle (wie oben) ein, nimmt er TAB_2.Anzahl mal der Anzahl der Childdatensätze in TAB_3 und summiert dann das Produkt. Als Abfrage formuliert, wäre dies quasi "SUM(TAB_2.Anzahl * COUNT(TAB_3.ObjektID))" (ob das jetzt so funzt sei jetzt mal dahingestellt).
Frage: wie kann ich TAB_3 joinen, ohne dass er falsch summiert. TAB_3 brauche ich nämlich noch für andere Berechungen (hab ich hier jetzt mal wegelassen).
Gruß
Jan