<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum PostgreSQL - dynamiczne pobieranie danych z funkcji]]></title>
		<link>https://forum.postgresql.org.pl/viewtopic.php?id=292</link>
		<description><![CDATA[Najświeższe odpowiedzi w dynamiczne pobieranie danych z funkcji.]]></description>
		<lastBuildDate>Fri, 11 Sep 2009 06:06:08 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[dynamiczne pobieranie danych z funkcji]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=1298#p1298</link>
			<description><![CDATA[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]]></description>
			<author><![CDATA[dummy@example.com (adamleon)]]></author>
			<pubDate>Fri, 11 Sep 2009 06:06:08 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=1298#p1298</guid>
		</item>
	</channel>
</rss>
