SQL如何遍历表并合并结果?

0 t-sql

我想做这样的事情:

while @nrOfAuthlevels >= @myAuthLevel
begin
    set @myAuthLevel = @myAuthLevel + 1 
    SELECT      Role.name, Role.authorityLevel
    FROM        [dbo].[Role]
    ORDER BY Role.authorityLevel
end
Run Code Online (Sandbox Code Playgroud)

此存储过程的结果应该是一个包含我自己的所有Role.authorityLevel的表.但这会产生几个表格.

提前致谢

Br Christoffer

Ste*_*ton 6

如果要保留当前结构,则需要在while循环中的每个步骤中插入临时表,并在TEMP表的返回之外插入.

也就是说,为什么不使用WHERE子句来获得预期的返回结果:

SELECT Role.Name, Role.AuthorityLevel
    FROM dbo.Role
    WHERE Role.AuthorityLevel < @MyAuthLevel
    ORDER BY Role.AuthorityLevel
Run Code Online (Sandbox Code Playgroud)