我需要以特定的方式获得树的有序层次结构.有问题的表看起来有点像这样(所有ID字段都是uniqueidentifiers,为了示例,我简化了数据):
EstimateItemID EstimateID ParentEstimateItemID ItemType
-------------- ---------- -------------------- --------
1 A NULL product
2 A 1 product
3 A 2 service
4 A NULL product
5 A 4 product
6 A 5 service
7 A 1 service
8 A 4 product
树形结构的图形视图(*表示"服务"):
A
___/ \___
/ \
1 4
/ \ / \
2 7* 5 8
/ /
3* 6*
使用此查询,我可以获得层次结构(只是假装'A'是一个唯一标识符,我知道它不在现实生活中):
DECLARE @EstimateID uniqueidentifier
SELECT @EstimateID = 'A'
;WITH temp as(
SELECT * FROM EstimateItem
WHERE EstimateID = @EstimateID …Run Code Online (Sandbox Code Playgroud)