<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Forum PostgreSQL - Grupowanie różnych danych w powtarzajacych się wierszach]]></title>
	<link rel="self" href="http://forum.postgresql.org.pl/extern.php?action=feed&amp;tid=1336&amp;type=atom"/>
	<updated>2012-05-17T13:13:41Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.postgresql.org.pl/viewtopic.php?id=1336</id>
		<entry>
			<title type="html"><![CDATA[Odp: Grupowanie różnych danych w powtarzajacych się wierszach]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=3608#p3608"/>
			<content type="html"><![CDATA[Dzięki za odpowiedź, chodziło mi właśnie o to :)]]></content>
			<author>
				<name><![CDATA[lasoty]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=1424</uri>
			</author>
			<updated>2012-05-17T13:13:41Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=3608#p3608</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Grupowanie różnych danych w powtarzajacych się wierszach]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=3606#p3606"/>
			<content type="html"><![CDATA[nie wiem która wersje postgry masz na wersji 8.4 można zrobić to tak (przykład tylko pokazuje zasadę - musisz podstawić tabele i nazwy pól) o ile pamiętam w wersji 9 istnieje nowa funkcja concat_ws, która grupuje ciągi ale nie mam tej wersji więc musisz sprawdzić sam

select l1,l2,array_to_string (array_agg (kod),',') as kody 
from (
	select  1 as l1,1 as l2 ,'1' as kod union all
	select  1 as l1,1 as l2 ,'2' as kod union all
	select  1 as l1,2 as l2 ,'1' as kod 
     ) as d
group by l1,l2]]></content>
			<author>
				<name><![CDATA[c_michal]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=627</uri>
			</author>
			<updated>2012-05-16T11:14:06Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=3606#p3606</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Grupowanie różnych danych w powtarzajacych się wierszach]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=3600#p3600"/>
			<content type="html"><![CDATA[Witam, to jest mój pierwszy, ale na pewno nie ostatni post na tym forum. Mam pewien problem i nie wiem do końca jak sobie z nim poradzić, otóż mam takie zapytanie:

[code]
SELECT 
  pacjenci.nr_ksiegi_glownej AS "Nr księgi głównej", 
  pacjenci.pesel, 
  pacjenci.data_urodzenia, 
  pacjenci.nazwisko, 
  pacjenci.imie, 
  icd10.kod
  FROM 
  public.pacjenci, 
  public.icd10, 
  public.przyjecia, 
  diagnozy
WHERE 
  przyjecia.id_pacjenta = pacjenci.id AND
  diagnozy.id_przyjecia = przyjecia.id AND
  diagnozy.id_icd10 = icd10.id
order by pacjenci.nr_ksiegi_glownej;
[/code]

którego wynik prezentuje się w następujący sposób:

[code]
Nr księgi głównej |    pesel    | data_urodzenia |          nazwisko          |         imie         |  kod  
-------------------+-------------+----------------+----------------------------+----------------------+-------
 2011/000013       | *********** | 1945-07-16     | Ł*******                   | Longina              | D37.4
 2011/000013       |  *********** | 1945-07-16     | Ł*******                   | Longina              | E11
 2011/000013       |  *********** | 1945-07-16     | Ł*******                   | Longina              | F32.3
 2011/000013       |  *********** | 1945-07-16     | Ł*******                   | Longina              | J45
 2011/000013       |  *********** | 1945-07-16     | Ł*******                   | Longina              | I10

[/code]


Jak widać dane we wszystkich kolumnach poza jedną są identyczne, chciałbym uzyskać coś takiego:


[code]
Nr księgi głównej |    pesel    | data_urodzenia |          nazwisko          |         imie         |  kod  
-------------------+-------------+----------------+----------------------------+----------------------+-------
2011/000013       | ********** | 1945-07-16     | Ł*******                  | Longina              | D37.4,  E11, F32.3, F32.3, J45, I10
[/code]

Będę wdzięczny za pomoc.]]></content>
			<author>
				<name><![CDATA[lasoty]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=1424</uri>
			</author>
			<updated>2012-05-14T12:12:11Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=3600#p3600</id>
		</entry>
</feed>
