Hi dedlfix,
Dann lass das GROUP BY und das SUM() weg und zähl mal händisch. Wenn das nicht stimmt oder du zu viele Datensätze siehst, dann hast du zu viel selektiert, nicht richtig verknüpft oder zu wenig eingeschränkt.
So siehts aus. Ich sehe zuviele Datensätze. Wenn ich hingegen
SELECT
EK
FROM tabelle1 t1
LEFT JOIN tabelle4 t4 ON t1.MID = t4.MID
WHERE
t1.MID = 4343
also ohne die JOINs
Left JOIN tabelle2 t2 ON t1.MID = t2.MID
LEFT JOIN tabelle3 t3 ON t2.TID = t3.TID
anfrage, erhalte ich die korrekten Datensätze.
Wie ermittel ich jetzt, woher die unnötigen Datensätze stammen?
Soll ich mal versuchen, mein Beispiel komplett in mysql nachzumodellieren, damit es für Außenstehende (und dann auch für mich) nachvollziehbar wird?
Das Doofe ist, daß ich für meine Anwendung ohnehin in php noch "nachjustieren" muß. Somit könnte ich auch dem Script ein paar Rechenaufgaben übergeben und gut ist. Andererseits würde ich gerne verstehen, was hier läuft...
Siehe EN-Wikipedia-Artikel Correlated subquery, das letzte Beispiel im ersten Teil (vor Optimizing ...)
Habe ich mir angesehen. Bekomme ich aber nicht auf mein Beispiel angewendet.
Lukas