2012-06-20 66 views
2

我有一個數據集,其中包含(其他值)hierarchyids和Parent-hierarchyids。 對於另一個查詢,我需要hierarchyids的最低公共祖先,因爲我對sql和espacially hierarchyids相當陌生。SQL:查找hierarchyids的最低公共祖先

ID   HID   ParentHID 
1   0x5CB280 0x5CA0 
2   0x5CABBB08 0x5CABBA 
3   0x5CB270 0x5CA0 
+0

什麼最低的共同祖先?請提供您的需求和數據集示例:您有兩個字段,一個是ID,另一個是記錄的父ID。 –

+0

做了一些編輯,希望現在能更容易理解 – Fantaftw

+0

是Microsoft SQL嗎?如果是的話,我有一個鏈接到文檔顯示答案,但我不想發佈它,如果我不確定你正在使用的SQL Server! :) –

回答

0

假設您的層次結構不是嚴重的平衡偏差(例如列表)獲得祖先鏈是便宜的。接下來,你所要做的就是帶兩條祖先鏈,做一組交集,然後找到一個最長的層次結構id。