2014-04-23 50 views
1

讓我們假設我有一張代表僱員和他們之間關係的人(老闆,下屬)。但沒有單根元素(有超過1行沒有關鍵指向老闆)。我可以寫一個特別的人告訴我誰是他最高級主管的sql語句嗎?達到遞歸關係的根

這裏是示例表

id, boss_fk 
1 
2 1 
3  
4 2 
5 4 
6 3 

所以例如用於僱員ID = 6應該是3,而ID = 5應該是1(因爲5-> 4-> 2-> 1)。

+2

哪些DBMS您使用的? Postgres的?甲骨文? –

+0

我正在使用IBM的DB2。 – abc

+1

因爲(id = 3)對於boss_fk具有空值,所以它看起來好像(僱員id = 6)確實具有(root = 3)。 (好吧,空白或空白或任何價值是什麼。)這就是你知道你達到你的'根'。這與你知道你已經達到'root'(id = 1)的方式是一樣的。 – user2338816

回答