首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存在的DB2案例

存在的DB2案例
EN

Stack Overflow用户
提问于 2016-12-22 15:37:00
回答 3查看 6.8K关注 0票数 1

搜索一个表,看看它是否包含X,如果它没有找到X,我需要它返回Y。这是我已经尝试过的:

代码语言:javascript
复制
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。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-12-22 16:32:05

简单联合

代码语言:javascript
复制
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))
票数 1
EN

Stack Overflow用户

发布于 2020-01-03 00:30:11

我发现它可以与DB2一起工作:

代码语言:javascript
复制
SELECT A, B, 
Case C
WHEN 'Citron' THEN 'Lemon'
WHEN 'Charlie' THEN 'Name'
end as Choice, 
D
FROM TABLE with UR;

也可以使用DB2 java驱动程序。

票数 0
EN

Stack Overflow用户

发布于 2021-09-20 15:46:46

这在DB2中用作记录存在性测试。

代码语言:javascript
复制
SELECT
  CASE COUNT(*)
    WHEN 0 THEN 'FALSE'
    ELSE 'TRUE'
  END as IsRecordThere
FROM MYTABLE 
WHERE COL1 = 'whatever' AND COL2 = 'etc'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41286721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档