db2 Select语句中的Case返回错误

bvhaajcl  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(271)
SELECT 
    CONCAT('C','~') AS "1", FFIITMN,
    CASE WHEN FFIITMN IN (SELECT FGDITMN FROM S2151BDW.PWRDTA.FGDPRPIP WHERE FGDCMPN = '  1' THEN '1' ELSE '0' END) AS "16"
FROM 
    S2151BDW.PWRDTA.FFIITMAP --Item master file
    JOIN S2151BDW.PWRDTA.FFJITMBP ON FFJITMN = FFIITMN AND FFJCMPN = FFICMPN --Item balance file
    JOIN S2151BDW.PWRDTA.FFBCLSAP ON FFBCLSN = FFJCLSN AND FFBCMPN = FFICMPN --Item class file

WHERE 
    FFICMPN = '  1' 
AND
    FFIITMN = '    365725'

返回错误:
比较运算符IN无效.. SQLCODE= -115,SQLSTATE =42601,DRIVER=3.69.56
是否可以在select中使用case语句来检查项目编号是否在另一个表中?

0h4hbjxa

0h4hbjxa1#

括号不匹配--右括号应该在内部SELECT查询的末尾,而不是在CASE块的末尾:

CASE WHEN FFIITMN IN (SELECT FGDITMN FROM S2151BDW.PWRDTA.FGDPRPIP WHERE FGDCMPN = '  1') THEN '1' ELSE '0' END AS "16"

相关问题