尝试基于SQL中的先前行父级递归地选择行

时间:2015-06-09 20:37:18

标签: mysql

使用表ROLE(ROLE_ID,PARENT_ROLE_ID)如何获取依赖于另一个的所有行?例如,根级别角色的[PARENT_ROLE_ID]将具有空值,但该根角色可能有许多子级,而这些子级又有许多子级。如何在查询中处理此问题?我不断遇到一些选择,但没有工作。它几乎就是oracle在执行'start with'查询时所做的事情。任何帮助将不胜感激。我现在的例子(和错误的)如下:

select * into #Collection from MCCApps.dbo.APP_ROLE r where r.APP_ROLE_ID = 1

declare @ParentId int = 1

while exists (select * from #Collection WHERE APP_PARENT_ID = @ParentId)
begin

select @ParentId = (select top 1 @ParentId
                   from #Collection
                   order by APP_ROLE_ID asc)

DELETE FROM MCCApps.dbo.APP_ROLE
where APP_PARENT_ID = @ParentId

1 个答案:

答案 0 :(得分:1)

d3d9_object.h