临时表

时间:2013-03-02 12:47:48

标签: sql temporary

我可以在case语句中创建临时表吗??

如果是,请以示例解释我。

实际上我想做这样的事情......

declare @a int = 1

select case when @a = 1 then
'yes'
else
'no'
end

如果第一种情况执行,那么我想创建具有该条件的临时表,这需要操纵一些业务数据。

在其他情况下我想创建另一个具有其他条件的表来操作业务数据。

2 个答案:

答案 0 :(得分:1)

听起来你应该使用IF代替CASE

declare @a int = 1

IF @a = 1
BEGIN
    'yes'
END
ELSE
BEGIN
    'no'
END

答案 1 :(得分:1)

对我认为你的意思有两种解释:

拥有包含不同数据的列:

SELECT CASE WHEN @a = 1 THEN
         'yes'
       ELSE
         'no'
       END AS answer
INTO tempTable

创建包含不同查询的表格

IF @a = 1
  SELECT 'yes' AS answer
  INTO tempTable2
ELSE
  SELECT 'no' AS answer, 'other field' as other
  INTO tempTable2

SQLFiddle