dedlfix: mysql: SUM und DISTINCT

Beitrag lesen

Tach!

Ergebnismenge:

55 Datensätze, anstelle von 5 Datensätzen. Vermutlich genau die 11 (t2) x 5 (t4) Datensätze.

Ah, da entsteht ein kartesiches Produkt: jeder mit jedem.

SELECT EK
FROM tabelle1 t1
LEFT JOIN tabelle2 t2 ON t1.MID = t2.MID
LEFT JOIN tabelle3 t3 ON t2.TbID = t3.TbID
LEFT JOIN tabelle4 t4 ON t1.MID = t4.MID
WHERE t1.MID =4343

Es entstehen zwei Teilmengen:

  1. t1 gejoint mit t4
  2. t1 gejoint mit t2 und t2 mit t3

Die bilden dann das kartesische Produkt.

Ich bin grad nicht mehr in der Lage, das Problem mit der notwendigen Aufmerksamkeit zu analysieren und schlage mal auf gut Glück was vor. Eine Hauptquery fragt die t1-Daten ab. Eine correlated Subquery fragt t4 und SUM(EK) ab. Eine weitere correlated Subquery geht auf t2 und t3 und holt da die SUM(Anzahl) - unter der Annahme, dass du da auch die Summe möchtest.

Vielleicht ist die Lösung aber auch, t3 über TID an t4 zu hängen und t2 wegzulassen. Dann kannst du gruppieren und die Summen bilden.

Wenn das alles nicht das ist, was du brauchst, muss ich später nochmal drüber nachdenken.

dedlfix.