繁体   English   中英

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

[英]Oracle SQL combine output from two queries into single output

我无法创建表,但是我想将两个查询的输出合并为一个输出。 我目前有什么

输出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

如前所述,我没有创建任何表的能力,所以我试图即时执行此操作,以便获得最终的组合输出。

select * from table1
union all
select * from table2;

如上所述,这将是最终查询。select * from table1 union all select * from table2 order by 1;

如果订购很重要,则需要格外小心:

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之后。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM