akretschmer
Datenbank-Guru
- Beiträge
- 10.376
Code:
postgres=# select * from tab2;
nummer | task | item
--------+---------+------
1 | blabla | 101
1 | bli bli | 301
2 | blub | 101
2 | blob | 202
(4 rows)
postgres=# with foo as (select nummer, item, sum(preis * anzahl) from acc group by nummer, item) select * from foo left join tab2 on (foo.nummer, foo.item)=(tab2.nummer, tab2.item);
nummer | item | sum | nummer | task | item
--------+------+-----+--------+---------+------
1 | 101 | 32 | 1 | blabla | 101
1 | 301 | 14 | 1 | bli bli | 301
2 | 101 | 192 | 2 | blub | 101
2 | 202 | 17 | 2 | blob | 202
(4 rows)
postgres=#
Sollten in tab2 mehrere Kombinationen für (nummer,item) mit unterschiedlichen task existieren, bekommst natürlich dann mehrere Zeilen. Alternativ kannst Du also auch noch extra auf auf task gruppieren. Das ist das,, was ich Dir versuchen die ganze Zeit zu erklären ...