我的SQL函數: with recursive locpais as (
select l.id, l.nome, l.tipo tid, lp.pai
from loc l
left join locpai lp on lp.loc = l.id
where l.id = 12554
union
select l.id, l.nome,
我試圖得到一些結果像這樣的表,但是從功能數據選擇ROWNUMBER: rownumber | value
1 | a
2 | b
3 | c
沒有任何表我在做這樣的事情: WITH RECURSIVE t(rownumber, value) AS (
select 1, regexp_split_to_table('a, b, c', ',')
UNION
假設我有一個表所示: id | parentId | name
1 NULL A
2 1 B
3 2 C
4 1 E
5 3 E
我想寫一個標量函數,我可以爲撥打: SELECT dbo.GetId('A/B/C/E')這將產生「5」,如果我們使用上面的參考表。則該函數將執行以下步驟: 查找 'A' 爲1 查找的 'B' 的ID的父是 'A'
有人可以向我解釋這個SQL查詢是如何工作的嗎? WITH recursive n(n) AS (
SELECT 2 n
UNION ALL
SELECT n+1 FROM n WHERE n<1000
)
SELECT a.n
FROM n a
LEFT JOIN n b
ON b.n < sqrt(a.n)
GROUP BY a.n
HA