Odp: łączenie wierszy
W sumie nie wiem dokładnie co ma robić to zapytanie, ale żeby połączyć opisy dla tych samych id używasz zapytanie zagnieżdżonego z array_to_string(array(...))
select distinct
p.id_produktu
p.id_zamowienia
p.nazwa
p.cena
p.stan
count(*) as "Ilość pozycji",
max(p.data_dot) as ostatnia_data_dodania,
array_to_string(array(select opis from opisy o2 where o2.id_produktu=o.id_produktu),'-') opisy
from produkty p,
opisy o
where p.id_produktu=o.id_produktu
and p.data_dot between '2010-03-01' and '2010-06-30 23:59:59'
group by 1,2,3,4,5,8
having month(max(p.data_dot))=3
order by 3,4
a jak masz nowszego postgresa, >=8.4 to możesz zamiast tego potworka array_to_string(array(...)) użyć po prostu
array_to_string(array_agg(o.opis),' - '))
Odp: łączenie wierszy
ver. niestety 8.2
dzieki za podpowiedź ale niestety przy uzyciu "potworka" rekordy wyświetlily sie w dwoch wierszach dla identycznych id_produktu, nie polaczyly sie w kolumnie opis gdy id_produktu jest rozne.
Czy w takim przypadku jest to mozliwe?
Kolego masz może jakes inne rozwiazanie?
oczywiscie dodalem
array_to_string(array(select opis from opisy o2 where o2.id_produktu=o.id_produktu),'-') as opisy
jeszcze raz wielkie dzieki za pomysl. Bede cos jeszcze myslal ale sprawa watpliwa abym rozwiazal
pozdrawiam bardzo serdecznie
Odp: łączenie wierszy
No to musisz sprecyzować kiedy mają się łączyć opisy, myślałem że dla identycznych id_produktu.
Wszystko prawdopodobnie sprowadzi się do tego aby odpowiednio dodać warunek do 'zapytania z potworka'.