是否可以在 CASE WHEN 中使用 IN 运算符?
SELECT
CASE WHEN DIGITS(A)||DIGITS(B) IN (SELECT DIGITS(C)||DIGITS(D) FROM TABLE_2)
THEN x
ELSE y
END AS MY_VAR
FROM TABLE_1
这给了我一个错误:
比较运算符 IN 无效。
db2 中的
IN
语句中不允许直接使用 CASE
运算符,但是您可以使用 EXISTS
获得类似的结果
SELECT
CASE WHEN EXISTS (
SELECT 1
FROM TABLE_2
WHERE DIGITS(A)||DIGITS(B) = DIGITS(C)||DIGITS(D)
)
THEN x
ELSE y
END AS MY_VAR
FROM TABLE_1