1 message in com.mysql.lists.mysql-deSummenbildung bei mehrfach verknüpfte...
FromSent OnAttachments
Ki...@dsbs.de16 Jan 2004 02:32 
Subject:Summenbildung bei mehrfach verknüpften Tabellen
From:Ki...@dsbs.de (Ki@dsbs.de)
Date:01/16/2004 02:32:24 AM
List:com.mysql.lists.mysql-de

Hallo,

ich habe eine Datenbank mit bspw. 3 Tabellen. Tabelle 1 enthält einen Namen, Tabelle 2 damit verbundene Sätze mit einem Zahlenwert und Tabelle 3 enthält Sätze, die mit Tabelle 2 wiederrum verbunden sind und enthält auch einen Zahlenwert.

Nun möchte ich durch EINE Abfrage eine Liste erzeugen, gruppiert nach Tabelle 1, die mir zu jedem Namen die Summe der dazugehörigen Werte aus Tabelle 2 und 3 liefert.

Folgendes Statement habe ich ausprobiert: SELECT Tabelle1.Name, Sum(Tabelle2.Wert) AS Sum1, Sum(Tabelle3.Wert) As Sum2 FROM Tabelle1 LEFT JOIN Tabelle2 ON Tabelle1.ID=Tabelle2.ID_von_Tab1 LEFT JOIN Tabelle3 ON Tabelle2.ID=Tabelle3.ID_von_Tab2 GROUP BY Tabelle1.ID, Tabelle1.Name;

Problem: Die Wertesumme aus Tabelle 3 wird korrekt berechnet. Die Wertesumme aus Tabelle 2 allerdings nicht. Tabelle2.Wert wird so häufig addiert, wie Sätze dazu in Tabelle 3 existieren. Bsp: Tabelle 1=1 Satz ID=1 Name=Hugo Tabelle 2=2 Sätze ID=1 ID_von_Tab1=1 Wert=10 ID=2 ID_von_Tab1=1 Wert=10 Tabelle 3=4 Sätze ID=1 ID_von_Tab2=1 Wert=10 ID=2 ID_von_Tab2=1 Wert=10 ID=3 ID_von_Tab2=2 Wert=10 ID=4 ID_von_Tab2=2 Wert=10

Die Auswertung bringt nun folgendes Ergebnis: ID Name Sum1 Sum2 1 Hugo 40 40 Ich brauche aber folgendes Ergebnis: ID Name Sum1 Sum2 1 Hugo 20 40

Sorry für die lange Erklärung. Ich hoffe mir kann jemand helfen, wie ich dieses Problem löse.

Danke vorab und Grüße, Kim Jan