sql - 如何根据Oracle中的其他列获取列的不同值
问题描述
我想从 COL1 中获取不同的值,它也是 COL3 值,但条件是如果 COL1 = COl2 那么它应该选择匹配的 COL3 值,否则如果它们不相同则选择 COL1 值。我被困在逻辑中,任何帮助将不胜感激!
请参阅下图了解更多详情:
select DISTINCT COL1,
CASE WHEN COL1 = COL2 THEN COL3 END COL3 from TABLE1
WHERE COL1 IS NOT NULL;
解决方案
使用相关子查询
select col1,col3
from TABLE1 a
where col2 in (select min(col2) from table1 b where a.col1=b.col1)
推荐阅读
- ios - 如何删除 iOS 通知服务扩展中的文件?
- javascript - 我的已部署网站仅在登录页面上显示 readme.md
- r - 填写缺失的日期并添加“0”
- r - 使用 dplyr 从 R 中的多个列创建多个二维表
- google-analytics - 在谷歌分析中显示自定义维度值
- css - 网格项目跨度不会超过 1 列
- apache-kafka - 在 Kafka DR 场景中使用 Observer Zookeeper
- python - 在 Python 中按多个间隔平均列值
- c# - 我无法在 XAML 和代码后面访问 ListView 中的 x:控件名称
- php - PHP:如何通过另一个变量设置一个变量的值?