Hallo zusammen,
ich hab das Problem das sum() bei einem join die Werte teilweise doppelt zählt. Warum das so ist ist mir auch klar, nur hab ich keine Ahnung wie ich das elegant umgehen kann.
Bsp:
postgres=# select * from kunden;
kundennr | volumen1 | volumen2 | name | verkaeufer_id
----------+----------+----------+--------+---------------
1 | 200 | 300 | Kurz | 1
2 | 200 | 300 | Lang | 1
3 | 200 | 300 | Mittel | 1
4 | 8 | 1 | Korn | 2
(4 Zeilen)
postgres=# select * from umsatz;
kundennr | kundenumsatz
----------+--------------
1 | 500
1 | 500
1 | 500
1 | 300
(4 Zeilen)
postgres=# select distinct a.verkaeufer_id, sum(a.volumen1) as volumen1, sum(vol
umen2) as volumen2, sum(b.kundenumsatz) as kundenumsatz from kunden a left join
umsatz b on a.kundennr = b.kundennr group by a.verkaeufer_id order by a.verkaeuf
er_id;
verkaeufer_id | volumen1 | volumen2 | kundenumsatz
---------------+----------+----------+--------------
1 | 1200 | 1800 | 1800
2 | 8 | 1 |
(2 Zeilen)
postgres=#