![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 105 Pomógł: 6 Dołączył: 7.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam ponownie,
Do pewnego zapytania od tabeli Tree Kategorii potrzebne są dwie wartości lewa i prawa dla klauzuli WHERE np:
wiec żeby te wartości uzyskać muszę wykonać wstępne zapytanie np:
Ewentualnie jako dwa podzapytania: Co jest kiepskie ze względu na dodatkowe zapytanie. Czy da się tak ułożyć to zapytanie by było jedno podzapytanie dajace dwie wartosci do wykorzystania z K.lft i K.rgt coś jak tutaj: http://dev.mysql.com/doc/refman/5.0/en/row-subqueries.html ale z warunkami >= i =< Pozdarwiam Ten post edytował Mion 31.10.2011, 17:23:30 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 3 Dołączył: 17.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Ale się głowicie (IMG:style_emoticons/default/smile.gif) Przecież to prosty JOIN (IMG:style_emoticons/default/smile.gif) Wiem, że może się wydawać, że to tylko do relacji ale przecież one wcale nie są wymagane.
Kod SELECT KT.* FROM KatTree K INNER JOIN xxxx as KT ON KT.lft >= K.lft AND KT.rgt <= K.rgt WHERE K.id = 15 Dane 3 userów: Kod SELECT * FROM user as a INNER JOIN user as b ON b.id=1015 INNER JOIN user as c ON c.id=1015 WHERE a.id=1015 Subquery lepiej nie stosować - są koszmarnie wolne i nie działają do końca tak jakby się mogło wydawać (najpierw wykonywana jest zewnętrzna kwerenda). Ten post edytował xdev 5.11.2011, 10:16:14 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 06:49 |