sql - SQL 查询根据子记录中是否存在值生成具有派生列的单行
问题描述
我有这样的场景:
表 A
COL1(PRIMARY)
REC1
REC2
表 B
COL1(PRIMARY) COL2(foreign key to col1 in table A) COL3
B_REC1 REC1 VAL1
B_REC2 REC1 VAL2
B_REC3 REC1 VAL2
B_REC4 REC2 VAL1
我想要一个将产生结果的查询
REC1 true
REC2 false
查询中的第二列不是实际列,但它的值源自表 B 的 COL3 中是否存在 VAL2
解决方案
这可以产生预期的结果
Select distinct
a.COL1,
case when b.COL1 is null then false else true end as Flag
from TableA a
left join TableB b on a.COL1 = b.COL2 and b.COL3 = 'VAL2'
谢谢穿刺器 :-)
推荐阅读
- algorithm - 分布图像形成正方形的算法
- javascript - 扫描数组js对象
- python - 是一种将双索引实现为特殊方法 Python 的方法吗?
- c - 如何在线程之间共享变量?
- javascript - Cloudflare Workers“单例”类
- html - 如何在 Angular 中为不同的设备设计完全不同的模板,比如移动设备和桌面设备,还有平板电脑?
- mysql - 括号前 id 的输出嵌套数组未以正确方式输出
- android - 如何在没有arsceneview的情况下使用Android ARCore
- javascript - 递归函数中的增量间隔
- tinymce - 如果在 html 元素后插入换行符,tinymce 5 会触发错误