![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Jest jakiś sposób, żeby jednym zapytaniem MySQL pobrać wszystkich potomków rodzica. Kiedy struktura tabeli wygląda tak: category_id | category_name | parent
Wszystkich przodków dla danej kategorii 9999 pobieram tak:
Nie mam pojęcia jak jednak pobrać wszystkich potomków. Da się w ogóle, w podobny sposób? Nie mogę dodawać zakresu dla kategorii, ani głębokości. Struktura musi być taka jaka jest. Próbowałem nawet tworzyć jakieś procedury, ale udało mi się najwyżej pobrać 2 poziomy niżej niż rodzic, a już i tak nie wiem jak to zrobiłem. Ten post edytował Damonsson 22.02.2013, 00:13:19 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 233 Pomógł: 50 Dołączył: 28.10.2006 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
W MSSQL do tego rodzaju zapytań służy CTE, ale w MySQL brak podobnego mechanizmu. Należy więc skorzystać z procedur składowanych. Podobny problem został rozwiązany tutaj - http://stackoverflow.com/questions/5291054...5291159#5291159
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
No właśnie MySQL jest tutaj ubogi. Pół dnia siedziałem na stackoverflow i nie znalazłem tego tematu, wydaje się być ok. Póki co rozwiązałem to po stronie php. Ale jak przyjdzie czas na optymalizację, na pewno skorzystam z tego rozwiązania.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 16:00 |