MSSQL中遞歸SQL查詢語(yǔ)句實(shí)例說(shuō)明-

MSSQL中遞歸SQL查詢語(yǔ)句分享,需要的朋友可以參考下。

一張表(ColumnTable)的結(jié)構(gòu)如下圖所示

當(dāng)前需要實(shí)現(xiàn)的功能:通過(guò)Number的值為67來(lái)獲取當(dāng)前的節(jié)點(diǎn)ID、父節(jié)點(diǎn)ID

遞歸實(shí)現(xiàn)sql語(yǔ)句
代碼如下:
with znieyu as
(
select c.Id,c.FatherId,0 as lv1 from ColumnTable c where c.Number=67
union all
select c.Id,c.FatherId,lv1-1 from znieyu z
inner join ColumnTable c
on z.FatherId=c.Id
)
select znieyu.Id ,znieyu.FatherId,znieyu.lv1 as lv from znieyu

實(shí)現(xiàn)的效果:

滿足條件67ID為6的遞歸–>6–>2(LV0)–>1(LV-1)–>0(LV-2)
滿足條件67ID為8的遞歸–>8–>5(LV0)–>2(LV-1)–>1(LV-2)–>0(LV-3)
很簡(jiǎn)單的一個(gè)SQL遞歸,記錄下來(lái)…

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊7 分享