0

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

如果是,请举例说明。

其实我想做这样的事情..

declare @a int = 1

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

如果第一个案例执行,那么我想创建具有操作某些业务数据所需的条件的临时表。

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

4

2 回答 2

1

听起来您应该使用IF而不是CASE

declare @a int = 1

IF @a = 1
BEGIN
    'yes'
END
ELSE
BEGIN
    'no'
END
于 2013-03-02T13:06:01.397 回答
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

于 2013-03-02T13:07:10.100 回答