Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Łączeni tabeli w ciąg
astropanic
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 4.07.2006

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


Witam, mam troche nietypowy problem.

-----------------
Tabela "produkt"
id,name
-----------------
Zawiera dane o produkcie

-----------------
Tabela "package"
id, innebzdety
-----------------
Zawiera dane o pakiecie, opis, cena itd

-----------------
Tabela "productpackage"
id, packageid, productid
-----------------
tabela laczaca pakiety z produktami(aby do jednego pakietu mozna bylo dolaczyc kilka produktow)

wyswietlajac paczke potrzebuje wyswietlic wszystkie nazwy produktow znjdujacych sie w tej paczce.

Czyli jesli w produktach mam "trąbkę","akordeon" i "organiki" i przypisalem je do pakietu o id 5 to po wykonaniu zapytania powinienem otrzymac coś takiego:

5,"trabka akordeon organki"

Ma ktos jakies pomysly ? A moze mieliscie juz podobny problem ?

Pozdrawiam
Go to the top of the page
+Quote Post
prond
post
Post #2





Grupa: Zarejestrowani
Postów: 254
Pomógł: 10
Dołączył: 8.11.2006
Skąd: Warszawa

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


Dla Twoich potrzeb na pewno będzie pomocna funkcja agregująca GROUP_CONCAT (http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat)

Pewnie będzie to wyglądało mniej więcej tak:
  1. SELECT
  2. product.id,
  3. GROUP_CONCAT(package.name SEPARATOR ', ')
  4. FROM product LEFT JOIN product_package ON (product_package.product_id = product.id)
  5. LEFT JOIN package ON (product_package.package_id = package.id)
  6. GROUP BY
  7. product.id;
Go to the top of the page
+Quote Post
astropanic
post
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 4.07.2006

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


Dziekuje, wlasnie o cos takiego mi chodzilo. Nawet nie widzialem ze jest takie rozszerzenie SQL. Fajna rzecz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam

Ten post edytował astropanic 2.05.2007, 18:07:41
Go to the top of the page
+Quote Post

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: 15.09.2025 - 14:46