Oracle SQL将两个查询的输出合并为单个输出

时间:2016-08-10 21:02:48

标签: sql oracle

我无法创建表,但我希望将两个查询的输出合并为一个输出。我现在有什么

输出1:

Date    Promo   Count
1-Aug   PROMO1  8
1-Aug   PROMO2  3
2-Aug   PROMO1  3
2-Aug   PROMO2  4

输出2:

Date    Promo                 Count
1-Aug   DIFFERENTKINDOFPROMO1   3
2-Aug   DIFFERENTKINDOFPROMO1   5

我想要得到的东西(结合输出1和2)

    Date    Promo   Count

    1-Aug   PROMO1  8
    1-Aug   PROMO2  3
    1-Aug   DIFFERENTKINDOFPROMO1   3
    2-Aug   PROMO1  3
    2-Aug   PROMO2  4
    2-Aug   DIFFERENTKINDOFPROMO1   5

如上所述,我没有能力创建任何表格,因此我尝试动态执行此操作,以便获得最终的组合输出。

3 个答案:

答案 0 :(得分:3)

select * from table1
union all
select * from table2;

答案 1 :(得分:0)

如上所述,这将是最终查询.. 从table1中选择* 联合所有 从table2中选择* 按1排序;

答案 2 :(得分:0)

如果订单很重要,那么需要注意:

select date, promo, count
from ((select date, promo, count, 1 as which from table1
      ) union all
      (select date, promo, count, 2 as which from table2
      )
     ) t
order by date, which;

无法保证每个表中的原始排序(因为每个表似乎没有排序键),但您可以确定表2记录在任何给定日期都跟随表1。 / p>