【发布时间】:2021-10-05 09:14:29
【问题描述】:
我要求三列的值取决于单列的值。假设我有一张桌子
A | B | C | D | E
A、B、C、D 和 E 是列,如果 D 列的值为“1”,则要求获取 A、B 和 C 的值,否则 A、B 和 C 的值将是空。
我尝试使用 CASE 语句,但似乎我们必须多次使用 CASE
SELECT
CASE
WHEN D = '1'
THEN A
ELSE NULL,
CASE
WHEN D = '1'
THEN B
ELSE NULL;
我一直在寻找类似一个 CASE 并选择适当的值。有什么方法可以实现,或者这是推荐的方法。
【问题讨论】:
-
CASE表达式; SQL Server 不支持Switch(Case语句) -
多个 case 表达式没有错。
-
您可以删除
ELSE NULL,因为这是默认设置 -
感谢@Larnu 的回复。我会考虑到这一点
标签: sql sql-server tsql select case