首页 > 解决方案 > CASE 语句中的 Netezza“不存在”

问题描述

我有一个多层 CASE 语句,其中一个条件需要通过“不存在”引用一个表。我不断收到有关“不允许相关子查询”的错误。如何在 CASE 语句中引用表以及条件?以下是我的代码的一部分:

WHEN ......  previous condition  

WHEN ( CCOB_CLIENT_LOB_ID = 2  AND OI_CARRIER_LOB_ID IN (1,2,12,13) ) 
         and not exists ( select S.STATE  
                          FROM CCOB_PACIFICSOURCE.V_SELFPAY_COB_STATES  S
                          WHERE S.STATE = SELFPAY_COB_STATE )  then 'NONE'

WHEN ....  subsequent condition

标签: subquerycaseexistsnetezza

解决方案


简短的回答是:你不能。更长的答案是您必须重写查询以外部连接您给别名 S 的表。然后很有可能测试 NULL。不过要注意 S.state 列上的重复项:)


推荐阅读