剛才在論壇上看到網友一個要求。參考如下,Insus.NET分析一下,可以使用MS SQL Server的遞歸查詢,得到結果。準備一張表:
根據網友提供的數據,填充此表:下面語法在SQL Server 2014之下運行正常:
上面代碼示例中,完整SQL代碼:
WITH TempDeptment ([ID],[PID],[DeptName],[Conjunction]) AS( SELECT [ID],[PID],[DeptName], CAST([DeptName] AS Nvarchar(1000)) FROM [dbo].[Deptment] WHERE [PID] = 0 UNION ALL SELECT d.[ID], d.[PID], d.[DeptName], CAST(([Conjunction] + N'/' + d.[DeptName]) AS Nvarchar(1000)) FROM TempDeptment AS td,[dbo].[Deptment] AS d WHERE td.[ID] = d.[PID])SELECT [ID], [Conjunction] FROM TempDeptmentView Code
運行結果:
Insus.NET以前也沒有在SQL中實現過遞歸,現剛好有一個實例,算是練習了。
新聞熱點
疑難解答