我需要做SELECT
之类的:
Select
col1, col2, (expression) as colA
from tablex ,
但表达式取决于外部变量@per
,因此,select将类似于:
SELECT
col1, col2,
case
@per = 1 then (col00 + col01) as colA
@per = 2 then (col00 + col01 + col02) as colA
@per = 3 then (col00 + col01 + col02 + col03) as colA
end
FROM tableX
我该怎么做?
由于
答案 0 :(得分:2)
SELECT col1,col2, colA =
CASE @per
WHEN 1 THEN (col00+col01)
WHEN 2 THEN (col00+col01+col02)
WHEN 3 THEN (col00+col01+col02+col03)
ELSE 0
END
FROM tableX
答案 1 :(得分:2)
这是假设您正在使用T-SQL的代码:
SELECT col1,col2,
case
WHEN @per =1 then (col00+col01)
WHEN @per =2 then (col00+col01+col02)
WHEN @per =3 then (col00+col01+col02+col03)
end as colA
FROM tableX