%d AND t.right < %d ORDER by t.left"; db_query($query, $left,$right); } function relation_tree_get_parents($id ,$sibling_right, $parent_right) { $query="SELECT rel.left_id,rel.lt_id FROM relations AS rel LEFT JOIN nested_set_index AS t ON rel.left_id=t.thing_id AND rel.lt_id=t.thing_type AND rel.relt_id=t.rel WHERE t.left < %d AND t.right > %d ORDER by t.left"; db_query($query, $left,$right); } /* CREATE TABLE relations ( left_id INTEGER NOT NULL, lt_id INTEGER NOT NULL, right_id INTEGER NOT NULL, rt_id INTEGER NOT NULL, relt_id INTEGER NOT NULL, KEY left (left_id,lt_id), KEY right (left_id,lt_id), KEY rel (rt_id) ); CREATE TABLE nested_set_index ( thing_id INTEGER NOT NULL, thing_type INTEGER NOT NULL, left INTEGER NOT NULL, right INTEGER NOT NULL, rel INTEGER NOT NULL, KEY thing (thing_id,thing_type), KEY left (left), KEY right (right), KEY rel (rel) ); */ ?>