Rafał Mieszkowski

Rafał Mieszkowski Student, Wojskowa
Akademia Techniczna

Temat: Jak zbudować zapytanie

Witam
Jak ma zbudować select z danych z tabeli poniżej:

Uzytkownik I okres | kwota
x.x. | M01 | 13,00 zł
x.x. | M02 | 14,00 zł
x.x. | M03 | 18,00 zł
y.y. | M01 | 11,00 zł
y.y. | M02 | 11,50 zł
y.y | M03 | 111,00 zł

aby dane w wyniku zostały przestawione w poniższej formie

Użytkownik | miesiąc M01 | kwota z miesiąca M01 | miesiąc M02 | kwota z miesiąca M02 | ..........
x.x | M01 | 13,00 zł | M02 | 14,00 zł | ........
y.y | M01 | 11,00 zł | M02 | 11,50 zł | .........
.
.

Dziękuje za pomoc
Marcin Miga

Marcin Miga Programista. Po
prostu programista.

Temat: Jak zbudować zapytanie

Albo doinstalować tablefunc i skorzystać z crosstab: http://www.postgresql.org/docs/9.1/static/tablefunc.html
albo zbudować zapytanie postaci:
SELECT uzytkownik, Sum(case when okres='M01' then kwota end) M01, Sum(case when okres='M02' then kwota end) M02, ... , Sum(case when okres='M12' then kwota end) M12
FROM tabela GROUP BY 1
Rafał Mieszkowski

Rafał Mieszkowski Student, Wojskowa
Akademia Techniczna

Temat: Jak zbudować zapytanie

OK dziękuje skorzystałem z podobnego rozwiązania
zastosowałem wzór z poniższego przykładu:

SELECT
MAX(CASE WHEN point like 'pstat' THEN value END) AS "Pstat [bar]",
MAX(CASE WHEN point like 'PWR' THEN value END) AS "Moc [kW]",
MAX(CASE WHEN point like 'tcwu' THEN value END) AS "Tcwu [st C]",
MAX(CASE WHEN point like 'tzas' THEN value END) AS "Tzas [st C]"
FROM tabela_last

Następna dyskusja:

Zapytanie




Wyślij zaproszenie do