Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wiersze jako kolumny w zapytaniu SELECT
Kuziu
post 5.03.2010, 22:53:01
Post #1





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

Ostrzeżenie: (0%)
-----


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.


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
thek
post 6.03.2010, 00:07:40
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




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
Powód edycji: [thek]: Podaję link :)


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
Kuziu
post 6.03.2010, 10:42:55
Post #3





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

Ostrzeżenie: (0%)
-----


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.


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 09:04