我想结合3个不同的语句,问题是我在使用循环,如果在我的查询中:
WHILE some condition
BEGIN
if(condition 1)
begin
select something
end
else if(condition 2)
begin
select something
end
else if(condition 3)
begin
select something
end
END
查询工作正常,但它返回100多个不同的选择结果(不同的表)。如何将这些选择结果合并到一个表中?
答案 0 :(得分:0)
如果你的意思是在TSQL中,那么你需要一个临时表(#foo
)或表变量(@bar
)。然后在每一步:
INSERT {name} ({cols})
SELECT {cols}
{etc}
然后做最后的
SELECT {cols}
FROM {name}
table-variable和temporary-table之间的选择很微妙。我更喜欢表变量;但对于大数据,或者如果您需要身份/索引,临时表可能更通用。但如果您不在SPROC内,您必须确保清理临时表。