一張表(ColumnTable)的結構如下圖所示
當前需要實現的功能:通過Number的值為67來獲取當前的節點ID、父節點ID
遞歸實現SQL語句:
復制代碼 代碼如下:
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
實現的效果:
滿足條件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)
很簡單的一個SQL遞歸,記錄下來...