sql - 使用 Oracle 如何根据两个不同的 if 语句有条件地从两个不同的表中选择一列?
问题描述
我需要有条件地从两个不同的 if 语句和两个不同的表中选择一列。简而言之,它在伪代码中看起来像这样:
IF
TABLE_A.COLUMN_A = ‘ABC’ THEN TABLE_A.COLUMN_B
ELSE IF
TABLE_B.COLUMN_F <> 0 THEN TABLE_C.COLUMN_C
END IF
有人如何在 Oracle sql 中做到这一点?
TIA
解决方案
CASE
可能会有所帮助,如果这些表以某种方式相关(即,您可以JOIN
使用它们(CROSS JOIN
可以选择吗?):
select case when a.column_a = 'ABC' then a.column_b
when b.column_f <> 0 then c.column_c
end
from table_a a join table_b b on ...
join table_c c on ...
where ...
推荐阅读
- c# - 如何使 MacOS 上的 .NET Core 应用程序可编写脚本(使用 Applescript)?
- r - R:多列的高效表查找
- java - 只有特定列可选择 JTable 和/或仅从一列获取数据
- qt5 - Qt5 应用程序和窗口图标
- php - 从字符串创建 #hashtag 链接,HEX 颜色除外
- css - DIV 容器的 CSS flex 定位
- html - html卡片滚动条
- html - 如何在AngularJS中使用动态名称评估表单上的有效属性
- postgresql - 如何使用 postgis st_setvalue 更新磁贴中的所有单元格?
- rxjs - 如何订阅最后一个 observable 并在 rxjs 中执行一个函数?