MS SQL Server遞迴查詢

2021-09-06 16:15:40 字數 1295 閱讀 5928

剛才在論壇上看到網友乙個要求。參考如下,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]=

0union

allselect 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 tempdeptment

view code

執行結果:

insus.net以前也沒有在sql中實現過遞迴,現剛好有乙個例項,算是練習了。

MS SQL Server遞迴查詢

剛才在論壇上看到乙個要求。參考如下,insus.net分析一下,可以使用ms sql server的遞迴查詢,得到結果。準備一張表 根據提供的資料,填充此表 下面語法在sql server 2014之下執行正常 上面 示例中,完整sql with tempdeptment id pid deptna...

MS SQL Server遞迴查詢資料

表結構 create table district discode varchar 10 disname varchar 10 disfathercode varchar 10 haschild bit with alldiscodes as 遞迴查詢出 discode的父級地域,用於篩選最匹配的打...

MS SQL Server查詢優化方法

查詢 速度慢的原因很多,常見如下幾種 1 沒有索引或者沒有用到索引 這是查詢慢最常見的問題,是程式設計的缺陷 2 i o吞吐量小,形成了瓶頸效應。3 沒有建立計算列導致查詢不優化。4 記憶體不足 5 網路速度慢 6 查詢出的資料量過大 可以採用多次查詢,其他的方法降低資料量 7 鎖或者死鎖 這也是查...