2
因此,我一直負責創建SQL Server存儲過程以組裝員工的地理層次結構。在SQL Server中創建數據層次結構
該系統具有3種類型的地理:
- 國家地理(根)
- 區域地理(級別1)
- 領土地理學(級別2)
在數據庫地理位置表與此類似:
GeographyID | GeographyType | GeographyName | ParentGeographyID |
-----------------------------------------------------------------
1 National Nation NULL
2 Region South 1
3 Territory Florida 2
還有和員工表。一名僱員可以被分配到上述任何一個地區。
例如,如果員工105被分配到了「南方」地區有像這樣在外部參照表的條目:
EmployeeID | GeographyID
------------------------
105 2
我需要做的就是給予員工ID是什麼,建立自己的地理層次。因此,對於員工105的結果看起來像這樣:
EmployeeID | TerritoryGeographyID | RegionGeographyID | NationalGeographyID
---------------------------------------------------------------------------
105 NULL 2 1
我不知道如何建立這樣的數據結構。我希望有人對這個問題有所瞭解。
你高興與固定在三個層次的最大深度。 t-sql遞歸查詢將是一件好事情。 –
我實際上已經研究了一些,並認爲遞歸CTE將是一個潛在的答案,但我只是沒有連接點來實現解決方案,以我的pronlem使用它。有趣的是他們想要最終添加更多的地理位置或將其刪除。 – Singularity222