Oracle PL/SQL连接由以前的。。。从SQL Server中的语句开始

Oracle PL/SQL连接由以前的。。。从SQL Server中的语句开始,oracle,sql-server-2014,database-migration,Oracle,Sql Server 2014,Database Migration,我感到困惑: 如何将此代码迁移到ms sql Server 2014?您可以尝试递归公共表表达式(CTE)。 看看这里 毫无疑问,您的问题以前曾被问及“sql server相当于oracle connect by Preor”-有一个谷歌,尝试一些东西,然后用您尝试过的东西提出一个问题,如果您无法让它工作。这样,你的问题就不会被如此严厉地否决——通常情况下,当发现原始询问者已经做了一些努力时,用户会尽力提供帮助,而不只是把免费的代码编写服务当作旁注,当提到没有堆栈溢出的站点时,就像你在这里对Ms

我感到困惑:
如何将此代码迁移到ms sql Server 2014?

您可以尝试递归公共表表达式(CTE)。 看看这里

毫无疑问,您的问题以前曾被问及“sql server相当于oracle connect by Preor”-有一个谷歌,尝试一些东西,然后用您尝试过的东西提出一个问题,如果您无法让它工作。这样,你的问题就不会被如此严厉地否决——通常情况下,当发现原始询问者已经做了一些努力时,用户会尽力提供帮助,而不只是把免费的代码编写服务当作旁注,当提到没有堆栈溢出的站点时,就像你在这里对MsDN所做的那样,我们应该尽量在这里包括该网站的相关数据。。这样的话,如果MSDN曾经关闭过,这个答案仍然有效,并且没有断开的链接。或者,您可以链接到另一个堆栈溢出帖子,而无需将其内容复制到此处。关于这种连接,肯定会有一个问题
    select distinct sel.empty_tu_loc_id, sel.loc_id from 
(
    SELECT CONNECT_BY_ROOT LOC_ID_PARENT AS empty_tu_loc_id, LN.LOC_ID AS loc_id
    FROM LN_LOC_LOC LN
    CONNECT BY PRIOR LOC_ID = LOC_ID_PARENT and link_type = 'PARENT'
    START WITH LOC_ID_PARENT IN (SELECT e.loc_id FROM empty_tu_loc e inner join grp g on g.loc_id= e.loc_id)
) sel
left outer join empty_tu_loc e1 on e1.loc_id=sel.loc_id
where e1.loc_id is null
union all 
SELECT distinct loc_id, loc_id FROM empty_tu_loc
);