我有以下表格:使用遞歸公用表表達式從兩個表中
Actual Optional
------ --------
4 3
13 6
20 7
26 14
19
21
27
28
什麼,我要做的就是選擇:
1)所有的值「實際」表。
2)從「可選」表中選擇的值,如果它們形成一個連續的 一系列與「實際」的表值
預期的結果是:
Answer
------
4
13
20
26
3 --because it is consecutive to 4 (i.e 3=4-1)
14 --14=13+1
19 --19=20-1
21 --21=20+1
27 --27=26+1
28 --this is the important case.28 is not consecutive to 26 but 27
--is consecutive to 26 and 26,27,28 together form a series.
我用遞歸寫了一個查詢但它會永遠循環,並在遞歸達到100級後失敗。 我面臨的問題是與26和27 28.again 28 27 27場比賽,28場比賽27 ...(永遠)
這裏是我寫的查詢:
with recurcte as
(
select num as one,num as two from actual
union all
select opt.num as one,cte.two as two
from recurcte cte join optional opt
on opt.num+1=cte.one or opt.num-1=cte.one
)select * from recurcte
這是功課?爲什麼CTE規定? –
這不是家庭作業。這是我有一個大問題的一小部分。我寫了大部分的查詢。這個問題必須寫在一個單一的查詢。所以這就是爲什麼cte規定 – psy
那麼你可以刪除這個關於遞歸CTEs的規定呢? –