sql - 使用 SQL 脚本的条件 SQL 查询
问题描述
我有两个示例表:
TABLE1:
ID | COLUMN_B| COLUMN_C
_________|_________|_________
1 | 0 | 1
________|_________|_________
2 | 0 | 1
________|_________|_________
3 | 0 | 1
TABLE2:
ID | COLUMN_E| COLUMN_F
________|_________|________
1 | Y | X
________|_________|_________
2 | Y | X
________|_________|_________
3 | Y | X
它们通过 ID 列相互关联。我想在 TABLE1 上执行选择,仅当 COLUMN_E 上的值为 Y 时才带上 COLUMN_B 和带上 COLUMN_C。
是否可以创建一个模拟类似以下内容的条件:“选择 column_b,并且仅当 TABLE2 中 column_e 上的值对于相同 ID 为 Y 时才选择 column_c”?
解决方案
如果我理解正确,这只是一个case
表达:
select t1.column_b,
(case when t2.column_e = 'Y' then t1.column_c end) as column_c
from table1 t1 left join
table2 t2
on t1.id = t2.id;
推荐阅读
- cmake - 在源代码构建之后,如何强制 CMake 在其他地方构建?
- github - 从 GitHub 上的另一个代码文件链接到代码文件
- mariadb - 如何交叉编译安装了 mariadb10 的 RPI3 (Stretch) 以与 QTCreator 一起使用?
- xamarin - 减少 Xamarin.Forms 中的 APK 大小,APK 大小 80MB
- kentico - 从哪里获取可以通过 GetUIElementInfo 应用权限的 UI 元素名称列表?
- javascript - this.state.due.map 不是函数
- python - 如何将值连接到一组字符串?
- javascript - 使用 jQuery 动态更改 CSS 背景
- python - 带有 tf.data.Dataset 的 RandomShuffleQueue 功能
- java - gradle中的多模块项目编译失败时