<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum PostgreSQL - Transpozycja wierszy do kolumnn]]></title>
		<link>https://forum.postgresql.org.pl/viewtopic.php?id=596</link>
		<description><![CDATA[Najświeższe odpowiedzi w Transpozycja wierszy do kolumnn.]]></description>
		<lastBuildDate>Tue, 31 May 2011 06:16:38 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Odp: Transpozycja wierszy do kolumnn]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=2537#p2537</link>
			<description><![CDATA[Dzięki :)]]></description>
			<author><![CDATA[dummy@example.com (Bear)]]></author>
			<pubDate>Tue, 31 May 2011 06:16:38 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=2537#p2537</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Transpozycja wierszy do kolumnn]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=2535#p2535</link>
			<description><![CDATA[Wystarczy samo:

[code]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[/code]

Grupowanie powoduje "wymuszenie" 4 wierszy w wyniku mimo stosowania funkcji agregującej.]]></description>
			<author><![CDATA[dummy@example.com (gszpetkowski)]]></author>
			<pubDate>Mon, 30 May 2011 14:28:45 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=2535#p2535</guid>
		</item>
		<item>
			<title><![CDATA[Transpozycja wierszy do kolumnn]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=2534#p2534</link>
			<description><![CDATA[Jak można zapisać dane z tabeli:

date		       | point | value
2011-05-18     | pstat | 2.11
2011-05-18     | PWR | 0
2011-05-18     | tcwu | 56
2011-05-18     | tzas  | 46

w jednym wierszu i kilku kolumanch:
pstat | PWR | tcwu | tzas
2,11  | 0       | 56    | 46

Z zapytania:

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

from tabela_last

GROUP BY point
ORDER by point  ASC

dostaję 4 wiesze i 4 kolumny:

pstat | PWR | tcwu | tzas
2,11  |          |         | 
         | 0       |         |  
         |          | 56    |  
         |          |         | 46

Pozdrawiam]]></description>
			<author><![CDATA[dummy@example.com (Bear)]]></author>
			<pubDate>Mon, 30 May 2011 10:50:14 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=2534#p2534</guid>
		</item>
	</channel>
</rss>
