phpbar.de logo

Mailinglisten-Archive

=?ISO-8859-1?Q?Re:_mySQL:_Summe_aus_drei_Tabellen_als_=DCbersicht_anzeige?= =?ISO-8859-1?Q?n?=

Re: mySQL: Summe aus drei Tabellen als Übersicht anzeige n

mysql-de_(at)_lists.bttr.org mysql-de_(at)_lists.bttr.org
Mon, 26 Nov 2001 13:49:32 +0100 (MET)


> Ich habe eine Haupttabelle mit den Kundendaten, eine 2. Tabelle für die
> Eingänge, die 3. für Ausgänge und die 4. für Umsätze. Per SQL Abfrage
> möchte
> ich nun eine Art Übersicht ermitteln: Wieviele Ein- und Ausgänge bzw.
> welcher Umsatz hat welcher Kunde im Zeitraum von/bis gemacht.
> 
> Beispiel:
> 
> 1. Kunden
> kdnr name
> 1    Kunde 1
> 
> 2. Eingang
> kdnr datum anz
> 1    01.10 16
> 1    10.10 30
> 1    17.10 24
> 
> 3. ausgang
> kdnr datum anz
> 1    05.10 6
> 1    09.10 7
> 1    12.10 32
> 1    18.10 9
> 
> 4. umsatz
> kdnr datum betrag
> 1    15.10 200,-
> 1    19.10 150,-
> 
> Abfrage:
> select sum(eingang.anz), sum(ausgang.anz), sum(umsatz.betrag) from kunden
> left join eingang on eingang.kdnr = kunden.id
> left join ausgang on ausgang.kdnr = kunden.id
> left join umsatz on umsatz.kdnr = kunden.id
> group by kunden.id
> 
> Ergebnis:
> kdnr eingang ausgang umsatz
> 1    70      54      350,-
> 
> Leider erhalte ich aber ein völlig anders Ergebnis, was Aufgrund der Joins
> auch eigentlich klar ist, aber wie muss ich die Abfrage gestalten das es
> dennoch funzt?

select eing.anz, ausg.anz, ums.betrag from kunden
left join (SELECT kdnr,  sum(anz)  as anz FROM eingang GROUP BY kdnr) AS
eing on eing.kdnr = kunden.id
left join (SELECT kdnr,  sum(anz) as anz FROM ausgang GROUP BY kdnr) AS ausg
on ausg.kdnr = kunden.id
left join (SELECT kdnr,  sum(betrag) as betrag FROM umsatz GROUP BY kdnr) AS
ums on ums.kdnr = kunden.id

Aber - sorry - das kann MySQL meines Wissens nach (noch) nicht.

ciao!
Kai

-- 
GMX - Die Kommunikationsplattform im Internet.
http://www.gmx.net

---
!!NEU!!
Fragen und Antworten zu MySQL und dieser Liste unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive