Snowflake cloud data platform 如何在不使用它们的情况下,在snowflake中获得按循环连接和按岛连接的结果?
我需要进行分层查询,我需要获得CONNECT_BY_ISCYCLE和CONNECT_BY_ISLEAF的结果,但Oracle不支持Snowflake中的这些功能Snowflake cloud data platform 如何在不使用它们的情况下,在snowflake中获得按循环连接和按岛连接的结果?,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,我需要进行分层查询,我需要获得CONNECT_BY_ISCYCLE和CONNECT_BY_ISLEAF的结果,但Oracle不支持Snowflake中的这些功能 在snowflake中实现CONNECT_BY_ISCYCLE和CONNECT_BY_ISLEAF功能的替代方法有哪些,而不使用它们,因为这些关键字在snowflake中不受支持?不知道您是否查看了以下snowflake功能 是的,我看了一下。我还看了一下,它清楚地表明,这些功能在Snowflake中不受支持。 我试图在代码块下面找到一
在snowflake中实现CONNECT_BY_ISCYCLE和CONNECT_BY_ISLEAF功能的替代方法有哪些,而不使用它们,因为这些关键字在snowflake中不受支持?不知道您是否查看了以下snowflake功能
是的,我看了一下。我还看了一下,它清楚地表明,这些功能在Snowflake中不受支持。 我试图在代码块下面找到一个替代方案,但在《雪花》中遇到了各种各样的错误
person_vertex as (
select
emp_number,
user_id
from person
),
person_edges as (
select
supervisor_emp_number,
emp_number
from person
where supervisor_emp_number is not null
),
select
pv.emp_number emp_id_pk,
level,
CONNECT_BY_ROOT pv.emp_number AS root,
concat(SYS_CONNECT_BY_PATH(pv.emp_number,':'),':') as path,
-- CONNECT_BY_ISCYCLE AS iscyclic, ------------------- no idea how to implement this
-- CONNECT_BY_ISLEAF as isleaf ------------------- i tried below block, but it is not working
case
when (pe.supervisor_emp_number in (select emp_number from pv)) then 0
else 1
end AS isleaf
from person_vertex pv
left join person_edges pe on pv.emp_number = pe.emp_number
connect by prior A.emp_number = A.supervisor_emp_number
start with A.supervisor_emp_number is null
非常感谢您对这个街区的任何帮助
谢谢
enter code here
我想一个代码块/代码片段可以做这件事,但我不能构建这个代码块。