0

我有这个:

SELECT 
        @is_daily_rollup = CASE WHEN rt.[id]=1 THEN 1 ELSE 0,
        @is_weekly_rollup = CASE WHEN rt.[id]=2 THEN 1 ELSE 0

但是 sql server 抱怨语法。我将如何将这个条件值实现到变量中?

4

2 回答 2

4

对于CASE声明,您需要提供END

CASE WHEN rt.[id]=1 THEN 1 ELSE 0 END
CASE WHEN rt.[id]=2 THEN 1 ELSE 0 END

所以你的完整查询将是:

SELECT @is_daily_rollup = CASE WHEN rt.[id]=1 THEN 1 ELSE 0 END,
       @is_weekly_rollup = CASE WHEN rt.[id]=2 THEN 1 ELSE 0 END
于 2012-07-06T19:58:09.483 回答
4

你错过了END你的CASE

SELECT 
        @is_daily_rollup = CASE WHEN rt.[id]=1 THEN 1 ELSE 0 END,
        @is_weekly_rollup = CASE WHEN rt.[id]=2 THEN 1 ELSE 0 END

当然,这是假设您已经声明了变量。

于 2012-07-06T19:58:15.170 回答