Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wiersze jako kolumny w zapytaniu SELECT
Forum PHP.pl > Forum > Bazy danych > MySQL
Kuziu
Cześć, chciałbym pobrać z bazy dane w takiej postaci by kilka wierszy połączyć w 1.

Przykładowa tabela:

Cytat
id.....id_obiektu......nazwa.....wartosc
1......1...............a1........11
2......1...............a2........12
3......1...............a3........13
4......2...............a1........21
5......2...............a2........22
6......2...............a3........23
7......3...............a1........31
8......3...............a2........32
9......3...............a3........33


Wynik po zapytaniu:

Cytat
id_obiektu......a1......a2........a3
1...............11......12........13
2...............21......22........23
3...............31......32........33


A więc wartosci z kolumny nazwa stają się nazwami kolumn a wartosci stają się ich wartościami.

No i jeszcze 1 warunek, nie będzie na sztywno ustalone tylko a1,a2,a3 tylko dowolnosc pelna wpisów i zawsze nazwa ma sie stac nazwą kolumny.

Mam nadzieje ze dobrze wyjaśniłem.

Czytałem coś o transpozycji, union i jeszcze kilku rzeczach ale nie moge się tego nigdzie doszukać.

Bardzo proszę o pomoc.
thek
Szczerze mówiąc to zależy tak naprawdę wszystko od bazy danych. Mysql ma z tym pewien problem, ale nie jest to niemożliwe Z tego co kiedyś czytałem to opis tego z przykładem był opisany w google pod hasłem: pivot table czy coś w tym stylu. Koleś się pytał jak to zrobić, bo w mssql jest to prosta komenda, ale w Mysql niestety trzeba odpowiednio zapytania popisać.

Proszę bardzo: Oto link do dość obszernego artykułu na ten temat. Nie myliłem się... Pivot table tongue.gif
http://onlamp.com/pub/a/onlamp/2003/12/04/crosstabs.html
Kuziu
Tak tylko tutaj musimy znać nazwy kolumn, przykładowo 'm' i 'f', no nic musze jakos inaczej zaplanowac baze by nie bylo mi to potrzebne.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.