问题描述
据我所知 Clickhouse 不支持递归 CTE,所以我想重写我在 sql Server 上使用的查询。 下面是片段:)
WITH cte
(ID,ID_PARENT,OBJ_DESC,CHILD,PARENT,CLASS_NAME,CATEGORY_NAME,LEVEL)
AS (
select a1.STC_sqlIDENTITY,a2.ID,a1.OBJ_DESC,a1.CHILD,a1.PARENT,a1.CLASS_NAME,a1.CATEGORY_NAME,4 as LEVEL from treeOne as a1
join treeTwo as a2
on a2.CHILD = a1.PARENT
where PARENT in
(select distinct PARENT from alberatura where PARENT not in (select CHILD from treeOne))
union all
select a2.sqlIDENTITY,itms.ID,a2.OBJ_DESC,a2.CHILD,a2.PARENT,a2.CLASS_NAME,a2.CATEGORY_NAME,itms.LEVEL+1 as LEVEL from treeOne a2
INNER JOIN cte itms ON itms.CHILD = a2.PARENT
)
SELECT * FROM cte;
你认为 Clickhouse 做这样的操作有效率吗?
非常感谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)