![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Mam tabele z kategoriami, z nastepujacymi polami:
id | parent_id | name Kateogria najwyzszego rzedu ma parent = 0, sa tylko 2 poziomy kategorii. Nie wszystkie kaegorie maja swoje podkategorie. Jak teraz pobrac wszystkie podkategorie (wraz ze swoimi kategoriami) i wszystkie kategorie nie majace podkategorii? Samo wyciagniecie kategorii z podkategoriami to nie problem, zalatwia to zapytanie: [sql:1:4b1fe39f37]SELECT g.id, CONCAT(g2.name, ' >> ',g.name) nazwa FROM groups g LEFT JOIN groups g2 ON ( g.parent_id = g2.id ) WHERE g2.name IS NOT NULL ORDER BY g2.name, g.name[/sql:1:4b1fe39f37] Ale czy da sie w jednym zapytaniu wyciagnac jeszcze kategorie bez podkategori? -------------------- Brak czasu :/
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 384 Pomógł: 0 Dołączył: 3.04.2003 Skąd: Chorzow Ostrzeżenie: (0%) ![]() ![]() |
tak samo tylko g2.name is null
![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
niebardzo ;P
W takim wypadku zwraca wszystkie kategorie pierwszego stopnia, a ma zwrocic tylko te pierwszego stopnia, ktore nie maja swoich podkategorii. Poki co rozbilem to na 2 query, ale chetnie bym poznal rozwiazanie teog w jednym, o ile takowe istnieje. -------------------- Brak czasu :/
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 384 Pomógł: 0 Dołączył: 3.04.2003 Skąd: Chorzow Ostrzeżenie: (0%) ![]() ![]() |
A bo masz to zapytanie dziwacznie sformulowane.
[sql:1:4a3be7482a] SELECT g.id, CONCAT(g.name, ' >> ',g2.name) nazwa FROM groups g LEFT JOIN groups g2 ON ( g2.parent_id = g.id ) WHERE g2.name IS NULL ORDER BY g.name, g2.name [/sql:1:4a3be7482a] |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 20:48 |