【问题标题】:Why is ' not in' working when in a case command?为什么在 case 命令中“不工作”?
【发布时间】:2021-06-23 15:25:48
【问题描述】:

所以我有这个查询,我试图让元素不在第一个州,但在第一种情况下它没有做任何过滤它。

 (case
when upper(STATE) not in()
then
(case
when upper(STATE) in() and DEPT in ('')
 or ()=''
AND upper() in())
then 'SOPORTE'
when upper(STATE) in()
and DEPT in () or ((DEPT)=''
AND upper(USER) in())
then 'PENDIENTE'
else 'OTROS'
end  
)

else (case

end) as ejemp,

说实话,我没有发现查询有任何问题。

【问题讨论】:

  • 很难说出您想要通过查询实现什么。请添加一些示例数据并更详细地解释您尝试实现的逻辑

标签: sql db2


【解决方案1】:

您应该注意 Db2 的平台和版本。但我相信以下适用于所有平台...

IN 是一个

谓词将一个或多个值与一组值进行比较。

upper(STATE) not in() 没有意义。

upper(STATE) NOT IN ('OH','UT') 会有意义。

upper(STATE) NOT IN (select state from someothertable)

您是否正在寻找NOT NULL

【讨论】:

    猜你喜欢
    • 2014-02-22
    • 2016-10-09
    • 1970-01-01
    • 1970-01-01
    • 2016-07-12
    • 2019-04-13
    • 2018-12-16
    相关资源
    最近更新 更多