【发布时间】:2017-05-08 06:58:05
【问题描述】:
搜索一个表以查看它是否包含 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。
【问题讨论】:
-
您可能想要显示一些示例数据和预期的输出。现在还不完全清楚你想要实现什么。