Hallo!
Momenteel heb ik een database tabel die er ongeveer zo uitziet:
Hierbij worden "lft" en "rgt" gebruikt voor het aangeven van een boom-structuur in de objecten onderling.
Nu wil ik graag één enkele query, waarin ik alle objecten uit de database haal, die voor het veld "is_linkable" als waarde "1" hebben, en alle PARENT objecten. Dat wil in dit geval zeggen: alle objecten waarvoor geld dat lft kleiner en rgt groter is dan de CHILD, waarvoor geldt is_linkable=1.
Ik ben inmiddels ongeveer anderhalf uur bezig met het proberen van de meest uiteenlopende queries ... maar ik kom er helaas niet uit. Ik heb bijvoorbeeld zoiets geprobeerd:
Ik hoop heel erg dat iemand mij uit de brand kan helpen ... alvast enorm bedankt!
Momenteel heb ik een database tabel die er ongeveer zo uitziet:
code:
1
2
3
4
5
| cms_objectID int(11) parentID int(11) lft int(11) rgt int(11) is_linkable tinyint(2) |
Hierbij worden "lft" en "rgt" gebruikt voor het aangeven van een boom-structuur in de objecten onderling.
Nu wil ik graag één enkele query, waarin ik alle objecten uit de database haal, die voor het veld "is_linkable" als waarde "1" hebben, en alle PARENT objecten. Dat wil in dit geval zeggen: alle objecten waarvoor geld dat lft kleiner en rgt groter is dan de CHILD, waarvoor geldt is_linkable=1.
Ik ben inmiddels ongeveer anderhalf uur bezig met het proberen van de meest uiteenlopende queries ... maar ik kom er helaas niet uit. Ik heb bijvoorbeeld zoiets geprobeerd:
code:
1
2
3
4
| SELECT DISTINCT b.cms_objectID AS bID, a.*, b.lft, b.rgt FROM cms_objects AS a, cms_objects AS b RIGHT JOIN cms_objects ON a.lft < b.lft AND a.rgt > b.rgt WHERE a.is_linkable =1 OR (a.lft < b.lft AND a.rgt > b.rgt) |
Ik hoop heel erg dat iemand mij uit de brand kan helpen ... alvast enorm bedankt!