Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapytanie w tabeli z FK do siebie
zaajcu
post
Post #1





Grupa: Zarejestrowani
Postów: 206
Pomógł: 3
Dołączył: 18.08.2011
Skąd: Chrzanów

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


Cześć.
Mam dwie tabele jedna to kategorie_produktow, druga zaś to produkty

wyglądają tak:

kategorie_produktow

id | kategorie_produktow_id(FK) | nazwa
1 null Multimedia
2 1 Telewizory
3 1 Komputery
4 2 LCD
5 2 Plazma
6 3 Laptopy
7 3 Stacionarne



oraz produkty

id | kategorie_produktow_id(FK) | nazwa | opis | stan ...


potrzebuje wykonać zapytanie które zwróci mi podkategorie z wybranej kategorii wraz z ilością produktów w wszystkich podkategoriach podkategorii kategorii (IMG:style_emoticons/default/tongue.gif)
np:

wybieram kategorie Multimedia (1)

zatem chciałbym aby wypisał mi kategorie:

Telewizory | ilosc produktow w Telewizory, LCD, Plazma (uwzględniając wszystkie kategorie poniżej kategori Telewizory
Komputery | komputery, laptopy, stacionarne

jedyny pomysł jaki na to mam to robienie tego na raty
- Najpierw pobranie danych o kategoriach
- potem stworzenie drzewa listy podrzędnych id
- a dopiero potem zapytanie SQL liczące ilość.

Może jest na to jakiś inny lepszy sposób niż wykonywanie x zapytań?

Ten post edytował zaajcu 13.11.2012, 14:39:16
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zaajcu
post
Post #2





Grupa: Zarejestrowani
Postów: 206
Pomógł: 3
Dołączył: 18.08.2011
Skąd: Chrzanów

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


OK faktycznie inny model drzewa byłby lepsze (problem tylko w tym że tego nie znam i musiał bym się tego nauczyć)
wpadłem jeszcze na jeden pomysł:

dodać jeszcze jedną kolumnę z unikalnym nr (np SID) który składam by się z nr SID'u rodzica+własne id i np

id | SID | nazwa
1 1 Multimedia
2 12 Telewizory
3 123 Plazma
4 124 LCD
5 1235 LG
...


i wyszukiwać by można np tak:

  1. SELECT id FROM tab WHERE SID LIKE '12%'


i wówczas znajdzie mi wszystkie podkategorie telewizorów wraz z "Telewizory"

Co wy o tym myślicie?
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 - 12:11