MS SQL Server遞迴查詢資料

2021-09-06 01:51:13 字數 1518 閱讀 6945

表結構

create

table

district (

discode            

varchar(10

),disname            

varchar(10

),disfathercode    

varchar(10

),haschild        

bit)

;with

alldiscodes as(

--遞迴查詢出@discode的父級地域,用於篩選最匹配的打折資訊

select

discode,

d.disfathercode

from

district d

where

d.discode ='

652324522218

'union

allselect

d.discode,

d.disfathercode

from

district d

inner

join

alldiscodes ad

ond.discode 

=ad.disfathercode

)select

*from

alldiscodes

複雜一點,樹形結構表和其他表有關聯

--複雜一點,樹形結構表和其他表有關聯

;with

targets as(

select

distinct

t.targetcode,

t.targetfathercode,

t.targetname,

t.haschild

from

[target]t

inner

join

croptarget ct

ont.targetcode 

=ct.targetcode

andct.cropclasscode ='

zw00010001

'union

allselect

t.targetcode,

t.targetfathercode,

t.targetname,

t.haschild

from

[target]t

inner

join

targets ts

onts.targetfathercode 

=t.targetcode

)select

distinct

ts.*

,t.targetname 

astargetfathername

from

targets ts 

left

join

[target]t 

onts.targetfathercode

=t.targetcode 

MS SQL Server遞迴查詢

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

MS SQL Server遞迴查詢

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

MS SQL Server查詢優化方法

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