搜索一个表,看看它是否包含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,则返回0行,而不是Y。但如果找到了A、B或C,则确实正确地返回X。
3条答案
按热度按时间6za6bjd01#
简单UNION
7tofc5zh2#
我发现DB2可以使用以下代码:
也可以与DB2 java驱动程序一起使用。
bqjvbblv3#
这在DB2中用作记录存在性测试