我的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