Ich bin derzeit mit dem folgenden Problem konfrontiert: Ich habe 3 Tabellen, ich brauche Informationen von und diese beiden Joins sind eins zu viele. Aus irgendeinem Grunde zweiter Verbindung erstellt Duplikate von Zeilen und als Folge zweiter Rückgabewert wird verkorksteSQL doppelte Zeilen mit mehreren linken Joins
SELECT aa.id, sum(bb.count), count(DISTINCT cc.id)
FROM aaaa aa
LEFT JOIN bbbb bb ON bb.aa_id = aa.id
LEFT JOIN cccc cc ON cc.bb_id = bb.id
GROUP BY aa.id
Gibt es einen Weg, um die richtige Summe zu erhalten (bb.count wird durch die Menge der zweiten Join Zeilen multipliziert) von bb.count ohne weitere Abfrage? In dem Moment, in dem ich den zweiten Linksbündel entferne, ist alles in Ordnung, leider brauche ich es für den dritten Rückgabewert und kann sie nicht gruppieren, ohne doppelte Zeilen im Ergebnis zu erzeugen.
Lets sagen, es
bb1.count = 9
bb2.count = 5
ist Und es gibt zwei Zeilen, in denen cc.bb_id = bb1.id
Das Ergebnis I erhalten 23 statt 14.
ein minimal funktionierendes Beispiel? .. –