Seikilos
09-07-2005, 15:40
Ich kann nicht so ganz nachvollziehen, warum das folgende query
SELECT n1.nest, n1.name FROM hs_dir_nest n1
LEFT JOIN hs_dir_nest n2 ON n1.lft
BETWEEN n2.lft AND n2.rgt
WHERE n1.level = 2
mir alle Ergebnisse doppelt ausgibt, also ich müsste sowas bekommen:
2 Fruit
7 Meat
10 W
13 X
Bekommen tu ich aber
2 Fruit
2 Fruit
7 Meat
7 Meat
10 W
10 W
13 X
13 X
liegt das an einer undeutlichen Formulierung?
Ich kann bestimmt n Distinct oder ähnliches Benutzen um eindeutige Ergebnisse zu bekommen, aber man kann den Fehler doch sicherlich irgendwie anders lösen, oder?
Edit, schon gut, hat sich erledigt, man muss hier n2.nest für n2.lft und n2.rgt genau definieren, ansonsten ist es nur n Zufall
SELECT n1.nest, n1.name FROM hs_dir_nest n1
LEFT JOIN hs_dir_nest n2 ON n1.lft
BETWEEN n2.lft AND n2.rgt
WHERE n1.level = 2
mir alle Ergebnisse doppelt ausgibt, also ich müsste sowas bekommen:
2 Fruit
7 Meat
10 W
13 X
Bekommen tu ich aber
2 Fruit
2 Fruit
7 Meat
7 Meat
10 W
10 W
13 X
13 X
liegt das an einer undeutlichen Formulierung?
Ich kann bestimmt n Distinct oder ähnliches Benutzen um eindeutige Ergebnisse zu bekommen, aber man kann den Fehler doch sicherlich irgendwie anders lösen, oder?
Edit, schon gut, hat sich erledigt, man muss hier n2.nest für n2.lft und n2.rgt genau definieren, ansonsten ist es nur n Zufall
