Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Wiele wartości w jednym rekordzie
parzol
post
Post #1





Grupa: Zarejestrowani
Postów: 135
Pomógł: 1
Dołączył: 7.05.2005

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


Witam.

Mam następujące tabele:

POKOJ:
id | name

POKOJ_ATRAKCJA:
id | pokoj_id | atrakcja_id

ATRAKCJA:
id | name

Są one wypełnione jakimiś danymi. Jak wyświetlić w MySQL listę atrakcji dla danego pokoju ale tak aby dla danego pokoju lista atrakcji byla wyświetlona w jednym rekordzie.
Przykładowo:

pokoj.name | atrakcje
=============================
Stokrotka | basen, parking, rower
Roza | basen
Gerber | parking, rower

Narazie potrafie zbudować jedynie:

pokoj.name | atrakcje
==================
Stokrotka | basen
Stokrotka | parking
Stokrotka | rower
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
heaven
post
Post #2





Grupa: Nieautoryzowani
Postów: 92
Pomógł: 15
Dołączył: 21.10.2006

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


Pisze z palca...
  1. SELECT p.name, GROUP_CONCAT(DISTINCT a.name ORDER BY a.name SEPARATOR ', ') AS 'atrakcje'
  2. FROM pokoj p
  3. JOIN pokoj_atrakcja pa ON (p.id=pa.pokoj_id)
  4. JOIN atrakcja a ON (pa.atrakcja_id = a.id)
  5. GROUP BY p.name

lub bez DISTINCT jesli maja sie powtarzac (o lie wogole moga sie powtarzac np. 2 roze w tym samycm pokoju) no i kolejnosc ustawiona jest alfabetycznie i odzielone atrakcje ', '
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 16.10.2025 - 11:08