【发布时间】:2017-09-18 15:30:48
【问题描述】:
我想从选定的列中获取一个值来操作下一列。例如:
SELECT CASE
WHEN ID < 4 THEN ID
ELSE 10
END
AS MY_ID,
MY_ID + 5 AS EXTRA_ID
FROM FOO
这将为 ID 1,2,3,4,5 输出:
MY_ID EXTRA_ID
1 6
2 7
3 8
10 15
10 15
如果我这样做 MY_ID + 5 它会抱怨 MY_ID 不存在(这是一个别名,所以它是有道理的)并且 ID + 5 在通过 ELSE 时将读取 1+5, 2+5, 3+5, 4+5, 5+5 而不是 1+5, 2+5, 3+5, 4+10, 5+10。甚至有可能做到这一点吗?我在 SSRS - 报告生成器中执行此操作,并且需要根据 CASE 子句操作可能设置为默认值的结果。
【问题讨论】:
标签: sql sql-server reporting-services