0
我有一個Employee
表,它是一個自引用表,managerId
是指主鍵empID
。我想通過給定empId
找到2級記錄。遞歸只有2級記錄使用普通的sql
例如:如果給出empId=5
, 如果empId=5
有子記錄,顯示它們以及子記錄中的子項。 數據庫是SQL Server 2005中
更新:我要一個完整的投影出
我有一個Employee
表,它是一個自引用表,managerId
是指主鍵empID
。我想通過給定empId
找到2級記錄。遞歸只有2級記錄使用普通的sql
例如:如果給出empId=5
, 如果empId=5
有子記錄,顯示它們以及子記錄中的子項。 數據庫是SQL Server 2005中
更新:我要一個完整的投影出
這應該讓你開始。不確定你的意思是「完全投射出來」。如果你是指每個孩子的每個孩子,那麼你將需要一個循環。但是如果你知道你只想下降兩級,這個例子就可以工作:
SELECT
t1.empID as Parent_ID,
t2.empID as Child_ID,
t3.empID as Grandchild_ID
FROM
employee t1
LEFT JOIN employee t2 ON t1.empID = t2.managerID
LEFT JOIN employee t3 ON t2.empID = t3.managerID
WHERE t1.empID = @given_empID
你想讓輸出看起來像什麼? – 2010-06-03 10:14:54
只需添加兩個連接? – 2010-06-03 15:19:08
那麼到目前爲止你做了什麼? – HLGEM 2010-06-04 13:23:03