1

Temat: dynamiczne pobieranie danych z funkcji

Witam

Mam taką tabelkę tbl_dane:

wydzial  miesiac  wynik
AX           1             12
AX           2             33
BX           1             13
BX           2             44
CX           1             55
CX           2             44

Potrzebuje wynik taki

miesiac   AX     BX       CX
1             12     13       55
2             33     44       44

Robię to za pomocą zapytania

select distinct a.miesiac,m1.wynik as "AX",m2.wynik as "BX",m3.wynik as "CX"
from tbl_dane a,
(select wynik, miesiac from tbl_dane where wydzial='AX') m1,
(select wynik, miesiac from tbl_dane where wydzial='BX') m2,
(select wynik, miesiac from tbl_dane where wydzial='CX') m3,
where
a.miesiac=m1.miesiac and a.miesiac=m2.miesiac and a.miesiac=m3.miesiac

Problem w tym, że wydzial w warunku wpisuje na sztywno  "where wydzial='AX'", a jeżeli dojdzie jakiś nowy wydział w tabeli który nie jest wymieniony w tym zapytaniu to muszę ręcznie go dołożyć, aby się pojawił.
Moje pytanie brzmi czy da sie zastosować jakąś funkcję z petlą, warunkami  itp. aby zrobić to wszystko dynamicznie.
Funkcja najpierw by sprawdzała jakie są wydziały, wstawiała je do jakiejś tablicy i potem w zależności od ilości tych wydziałów wykonywała pętlę for pobierając wydziały z zapamietanej tablicy. Nie wiem czy tak się da, ale zawsze warto zapytać.
Czytam trochę o funkcjach, ale jestem za słaby by coś wykombinować. Może ktoś z większą wiedzą naprowadzi mnie na trop.

Pozdrawiam
Adam