Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 1.10.2005 Skąd: Olesno Ostrzeżenie: (0%)
|
Mam tabele kategorii (standardowo id, parent, itd.) i tabele relacji (left, right, level). Left to id categorii, do ktorej jestem w zaleznosci level (Zagłębienie). Right to id kategorii z tabeli kategorii. No i standardowo left joinem jestem w stanie pobrac wszystkie kategorie wraz z levelem, w jakim sa one zagnieżdżone względem kategorii głównej. Wszystko uporzadkowane jest wg levela. Tak wiec przykladowo po wykonaniu zapytania mam:
rodzic 1 rodzic 2 --|syn 1 --|syn 2 --|syn 21 --|syn 22 ----|synsyna 2 Chcialbym to uporzadkowac w kolejnosci takiej: rodzic 1 --|syn 1 --|syn 2 ----|syn syna 2 rodzic 2 --|syn 21 --|syn 22 Trzeba by to zebrac w jakas tablice i posortowac, jednak brakuje mi pomyslow, jak to najszybciej zrobic. Zaznaczam, ze kategorie moga miec nieokreslona liczbe poziomow. Ważne kolumny, do ktorych mam dostep przy pobieraniu kategorii (cat_id, cat_parent (rodzic danej kategorii), level (poziom zagnieżdżenia)) Ten post edytował quba 9.08.2008, 15:38:37 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 15 Dołączył: 19.07.2007 Ostrzeżenie: (0%)
|
Niestety nie da sie tego w prosty sposob wykonac w MySQL gdyz nie obsluguje on CTE. Trzeba uzyc procedury ktora w petli bedzie pobierac wszystkie podpoziomy z danej kategorii, albo uzyc procedury rekurencyjnej. Wiecej info tutaj:
http://www.artfulsoftware.com/mysqlbook/sa...sqled1ch20.html |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 1.10.2005 Skąd: Olesno Ostrzeżenie: (0%)
|
Może jakiś przyklad jak to uporządkowac za pomocą pętli?
|
|
|
|
![]() ![]() |
|
Aktualny czas: 20.12.2025 - 03:07 |