Odnawiam temat gdyż potrzebuję (nie mogę sobie poradzić) bardziej skomplikowany wynik:
w tabeli tab1 dokładamy pole warunek (zakres wartości od 1-7)
drop table tab1;
Create Table tab1 (
id integer Primary Key,
pole integer,
id_tab2 integer References tab2,
warunek integer
);
Insert Into tab1
Select -- ew. można załatwić to jednym rand'em
id, trunc(random()*100 + 1),
trunc(random()*22 + 1),
trunc(random()*7 + 1)
From generate_series(1, 22*3) id;
Potrzebuję pobrać dane w postaci (odpowiedź gszpetkowski)
Select
id_tab2, sum(pole),
(Select nazwa From tab2 Where id = id_tab2) As nazwa
From tab1
Where id_tab2 Between 1 And 22
Group By id_tab2
Order By id_tab2;
tak aby wynik był w postaci
Przykładowy wynik:
id_tab2 | sum | nazwa | warunek2|warunek3|warunek4|warunek5|warunek6|warunek7
---------+-----+-------+-----+-----+-----+-----+-----+-----+
1 | 151 | aaaa| 0 | 2 | 0 | 7 | 0 | 0
2 | 57 | bbbb | 3 | 0 | 0 | 0 | 0 | 8
czyli sum jest sumą bez względu na warunek natomiast osobno potrzebuję zliczyć sumy dla warunku=2 lub warunku=3 aż do warunku=7