搜索一个表,看看它是否包含X,如果它没有找到X,我需要它返回Y。这是我已经尝试过的:
SELECT WHEN T1.X IS NULL THEN Y ELSE T1.X END AS XY
FROM TABLE1 T1
LEFT JOIN TABLE2 T2 ON T1.X = T2.X
WHERE T1.X IN (A, B, C);
SELECT CASE WHEN T1.X IS NOT NULL THEN T1.X ELSE Y END AS XY
FROM TABLE1 T1
WHERE T1.X IN (A, B, C)
AND T1.X IN (
SELECT T2.X
FROM TABLE2 T2);
SELECT CASE WHEN EXISTS (SELECT X FROM TABLE1) THEN X ELSE Y END AS XY
FROM TABLE1
WHERE X IN (A, B, C);如果没有找到A、B或C,而不是Y,则返回0行,但如果找到A、B或C,则正确地返回X。
发布于 2016-12-22 16:32:05
简单联合
SELECT X FROM TABLE1 WHERE X IN (A, B, C)
UNION
SELECT Y FROM SYSIBM.SYSDUMMY1
WHERE NOT EXISTS (SELECT X FROM TABLE1 WHERE X IN (A, B, C))发布于 2020-01-03 00:30:11
我发现它可以与DB2一起工作:
SELECT A, B,
Case C
WHEN 'Citron' THEN 'Lemon'
WHEN 'Charlie' THEN 'Name'
end as Choice,
D
FROM TABLE with UR;也可以使用DB2 java驱动程序。
发布于 2021-09-20 15:46:46
这在DB2中用作记录存在性测试。
SELECT
CASE COUNT(*)
WHEN 0 THEN 'FALSE'
ELSE 'TRUE'
END as IsRecordThere
FROM MYTABLE
WHERE COL1 = 'whatever' AND COL2 = 'etc'https://stackoverflow.com/questions/41286721
复制相似问题