Tsql 联合不同的select语句
我想合并3个不同的语句,问题是我在使用循环,如果在我的查询中:Tsql 联合不同的select语句,tsql,sql-server-2005,Tsql,Sql Server 2005,我想合并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 查询工作正常,但它返回1
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多个不同的选择结果(不同的表)。如何将这些select结果合并到一个表中?如果您是指在TSQL中,那么您需要一个临时表(
#foo
)或表变量(@bar
)。然后在每个步骤中:
INSERT {name} ({cols})
SELECT {cols}
{etc}
然后做一个期末考试
SELECT {cols}
FROM {name}
表变量和临时表之间的选择很微妙。我更喜欢表格变量;但是对于大数据,或者如果需要标识/索引,临时表可能更通用。但是,如果您不在存储过程中,则必须确保清理临时表。使用表变量将这些结果中的每一个选择到该表中,然后在最后一次性选择所有结果。如果您发布代码、XML或数据示例,请在文本编辑器中突出显示这些行,然后单击“代码示例”按钮(
{}
)在编辑器工具栏上很好地格式化和语法突出显示它!