我需要根据几个条件从 select 语句中更改返回值。我尝试过这样的事情:
,CASE i.DocValue
WHEN 'F2' AND c.CondCode IN ('ZPR0','ZT10','Z305') THEN c.CondVal
ELSE 0
END as Value
为什么它不起作用,推荐的方法是什么?接下来会有几个WHEN条件。
谢谢
我需要根据几个条件从 select 语句中更改返回值。我尝试过这样的事情:
,CASE i.DocValue
WHEN 'F2' AND c.CondCode IN ('ZPR0','ZT10','Z305') THEN c.CondVal
ELSE 0
END as Value
为什么它不起作用,推荐的方法是什么?接下来会有几个WHEN条件。
谢谢
有两种类型的
CASE
语句,SIMPLE和SEARCHED。您不能在 Simple case 表达式中评估多个表达式,这是您尝试做的。
简单案例示例:
搜索案例示例:
进一步阅读:http: //msdn.microsoft.com/en-us/library/ms181765.aspx
如果您有多个要求,也可以这样写: