我有一個嵌套組的組織中,看起來像這樣(的節點組織IDS):MySQL的組嵌套的非孩子的關係
1234是4499和3322父,但9905是「心心相印」,不是一個真正的父母或子女,到1234
我相信leftedge,rightedge設置應該是這個樣子:
orgID | leftedge | rightedge
1234 | 1 | 6
4499 | 2 | 3
3322 | 4 | 5
9905 | 7 | 8
辛格Ë9905是不是真的1234一個孩子,我不知道我怎麼能得到1234和9905.之間的關係,我用它來獲取子關係的SQL是:
SELECT ost.orgid, ost.leftedge, ost.rightedge
FROM tbl_organisationsettree ost
JOIN tbl_organisationsettree AS child_ost ON child_ost.leftedge BETWEEN ost.leftedge AND ost.rightedge
AND child_ost.supersetid = ost.supersetid
WHERE 1
AND ost.leftedge > 1
AND ost.rightedge <6
GROUP BY child_ost.ID
HAVING COUNT(child_ost.ID) = 1
您是否有可用的關係類型?這應該可以幫助您找出差異。而且因爲我是一個oracle的傢伙,所以我會提醒說在這個世界裏這是一個CONNECT BY問題。 – Randy 2012-07-09 12:22:47
我還沒有可用的關係類型,但是由於我正在構建此係統的原型,因此我可以添加一個。我應該將它添加到我的orsettree表嗎?也會通過 – Jarede 2012-07-09 12:25:15