oraclesql中的分层查询
我有这样的数据: 从上表中,我尝试使用CONNECTBY子句编写SQL,以获得如下层次结构oraclesql中的分层查询,sql,oracle,hierarchy,Sql,Oracle,Hierarchy,我有这样的数据: 从上表中,我尝试使用CONNECTBY子句编写SQL,以获得如下层次结构 MAINCONTENT SPECIAL RIDGE SALESCONTENT ANOTHERONE RODGE SOMETHING ELSE ANOTHER ... 到目前为止,下面的SQL只显示了“MAINCONTENT”的所有子项,但我不想传递参数。下
MAINCONTENT
SPECIAL
RIDGE
SALESCONTENT
ANOTHERONE
RODGE
SOMETHING ELSE
ANOTHER
...
到目前为止,下面的SQL只显示了“MAINCONTENT”的所有子项,但我不想传递参数。下面这个例子并没有向我展示孩子们的孩子们,这意味着它没有做递归
select DISTINCT parent from MYTABLE
connect by prior CHILD = PARENT
start with PARENT = 'MAINCONTENT';
您似乎只在电子表格中显示了部分数据,因此我不确定以下内容是否100%正确,但: 首先去掉间接链接(直接链接应该覆盖整个树),并为顶级记录创建额外的条目。然后应用分层子句 请尝试以下方法:
WITH mytable_normalized AS (
SELECT parent, child
FROM mytable
WHERE direct_link = 'Y'
UNION ALL
SELECT null, parent
FROM mytable
MINUS
SELECT null, child
FROM mytable
)
SELECT lpad(' ', level*2) || child
FROM mytable_normalized
CONNECT BY prior child = parent
START WITH parent IS NULL;
@Barmar该链接是针对MySQL的,它没有真正显示如何使用
connectby
Oops,抱歉。我误以为它更通用。无论如何,你应该展示你的尝试,这样人们可以帮助你修复它。因此,这不是为了让其他人为您编写代码。