SQL Server的等效方法:sys_connect_by_path

时间:2018-09-10 13:31:37

标签: sql-server tree

以下我的SQL Server查询失败:

sys_connect_by_path(folder_names.name,'//')“ PATH”

我相信它是在Oracle中创建的。有人可以用2016 SQL Server等价物代替那段代码吗?

select  -- report, package, 
       path
from (
    select report_names.name                            "REPORT"
    ,      sys_connect_by_path(folder_names.name, '//') "PATH"
    ,      package_names.name                           "PACKAGE"
    from cognos_cs.cmobjects folders
    join cognos_cs.cmobjnames folder_names on folders.cmid = folder_names.cmid and folder_names.isdefault = 1
    left join cognos_cs.cmobjects reports on folders.cmid = reports.pcmid and reports.classid = 10
    left join cognos_cs.cmobjnames report_names on reports.cmid = report_names.cmid and report_names.isdefault = 1
    left join cognos_cs.cmrefnoord1 packages on reports.cmid = packages.cmid and packages.propid = 31
    left join cognos_cs.cmobjnames package_names on packages.refcmid = package_names.cmid and package_names.isdefault = 1
    where folders.classid = 1 

    start with folders.cmid = 2
    connect by prior folders.cmid = folders.pcmid
) group by -- report, package,
              path
order by path
;

0 个答案:

没有答案