我在sql server中有病历数据。 Follwing是我的数据heirarcy树。获取包含sql服务器中所有子记录的记录
Id Name ParentID
1124 ABC 2
1125 BCD 1124
1126 EFG 1124
1127 HIJ 1126
1128 KLM 1126
1129 OPQ 1124
1130 RST 1124
1131 UVW 1130
1132 XYZ 1131
1133 ZYA1 1124
现在我想从上面的表中得到以下结果。在那我想从根(父母)与所有孩子直到最后一个孩子的路径。
Id Name ParentID PATH
1124 ABC 2 ABC
1125 BCD 1124 ABC/BCD
1126 EFG 1124 ABC/EFG
1127 HIJ 1126 ABC/EFG/HIJ
1128 KLM 1126 ABC/EFG/KLM
1129 OPQ 1124 ABC/OPQ
1130 RST 1124 ABC/RST
1131 UVW 1130 ABC/RST/UVW
1132 XYZ 1131 ABC/RST/UVW/XYZ
1133 ZYA1 1124 ABC/ZYA1
因此,谁能帮我写的SQL查询来找出包含所有记录从父所有载有儿童的路径。
在此先感谢。
,我运行此查询,但它给了我错误“类型在递归查询”CTE“的列”路径“中的锚和递归部分之间不匹配。” –
我已经添加了一个CAST以确保类型一致。 – GarethD
很棒@GarethD。它的工作和获得我正在寻找的东西。谢谢。 –