yarexxx
24.09.2009, 09:18:51
Witajcie,
mam takie pytanie:
mając wynik zapytania który wygląda tak:
osoba malzonek matka ojciec
1 5 6 8
staram się doprowadzić go to takiej postaci:
rodzina
1
5
6
8
Wiem ze w mssql podobny efekt ozna osiagnac stosujac tabele przestawna (pivot), w mysql takiej funkcjonalnosci nie ma.
Dzięki za wszelką pomoc
someone.cool
24.09.2009, 18:01:40
A można procedurą, albo funkcją ? jeśli tak, to można to załatwić.
yarexxx
25.09.2009, 07:44:41
Sposób jest dowolny, liczy się efekt końcowy.
Dodam jeszcze, że na kolumnie wynikowej chce zrobić JOIN...
thek
25.09.2009, 11:58:11
Osobiście nigdy tego nie potrzebowałem, więc użyłem google i po słowach: pivot table mysql znalazło mi ten artykuł:
http://dev.mysql.com/tech-resources/articl...zard/index.htmlMoże Ci pomoże.
kefirek
26.09.2009, 14:37:54
Na nic innego nie wpadłem ale można to zrobić tak
SELECT * FROM (
SELECT osoba AS rodzina FROM rodzina
UNION ALL
SELECT malozonek AS rodzina FROM rodzina
UNION ALL
SELECT matka AS rodzina FROM rodzina
UNION ALL
SELECT ojciec AS rodzina FROM rodzina
) AS tabela