oracle合并两个不一样的结果集
程序员文章站
2022-07-05 22:28:09
oracle查询两个结果集合并
1:通过union 和 union all 合并,但是前提了查出来的结果集要一致
2:如果两个结果集不一致,就要用到left join on...
oracle查询两个结果集合并
1:通过union 和 union all 合并,但是前提了查出来的结果集要一致
2:如果两个结果集不一致,就要用到left join on
比如:
有a表,我想要求7月和8月的前三天的价格都是多少
select * from a;
月份 (month) | 日期(day) | 价格(price) |
---|---|---|
07 | 1 | $1600 |
07 | 2 | $12 |
07 | 3 | $1 |
07 | … | … |
08 | 1 | $1500 |
08 | 2 | $11 |
08 | 3 | $2 |
08 | … | … |
用一个sql完成就是这样:
select a.price 当前月份价格, b.price 上月份价格, a.day 账期 from ( select t.price, t.day from a t where t.month = to_number('201708') and t.day <= '03' ) a left join ( select t.price 上月份价格, t.day from a t where t.month = to_number('201708')-1 and t.day <= '03' ) b on a.day=b.day order by a.day
这样就在一个结果集里体现出来了。
推荐阅读
-
oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
-
oracle学习笔记(八)——结果集元数据ResultSetMetaData以及ResultSet转为对应的实体类框架
-
Asp Oracle存储过程返回结果集的代码
-
order by排序的字段的值相等,导致两个sql查询出来的显示结果不一样
-
oracle合并两个不一样的结果集
-
oracle 存储过程返回 结果集 table形式的案例
-
Oracle 两个逗号分割的字符串,获取交集、差集(sql实现过程解析)
-
关于C#中使用Oracle存储过程返回结果集的问题
-
oracle数据库显示两个字段相除的结果分析
-
如何在oracle中限制返回结果集的大小_PHP