【发布时间】:2011-03-28 09:00:50
【问题描述】:
我需要编写一个类似这样的查询:
Select [something]
Where
condition in
case
when (if another_condition = A and 3rd Condition = B) then (C,D)
when (if another_condition = N and 3rd Condition = E) then (F,G)
else (J,K)
end
本质上,我想要的是如果满足 A 和 B,条件可以设置为 C 或 D,如果满足 N 或 E,则条件可以设置为 F 或 G,否则条件设置为 J 或 K . 但是,当我运行它时,我一直在 关键字“Case”附近的语法不正确。
请帮忙!谢谢!
【问题讨论】:
-
CASE 语句中的“设置为 C 或 D”是什么意思?您不能从满足相同的 CASE 条件得到 2 个不同的结果。
-
要绕过 CASE 错误,请将 CASE 语句放在括号中。