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