如何对两个sql表中的数据求和

sg3maiej  于 2021-07-24  发布在  Java
关注(0)|答案(2)|浏览(714)

我有两张表的结果集
表1

Mediaid  FilteredDocsCount FileSize
        2000     5                  20
        3000     2                  25

表2

Mediaid   FilteredDocsCount  FileSize
         2000        3                  50
         2001        4                  20
         2005        2                  23
         3000        3                  22

我的目标是从这些表中添加filtereddoccount和filesize。我期望得到以下结果:

Mediaid   FilteredDocsCount  Filesize
     2000        8                  70
     2001        4                  20
     2005        2                  23
     3000        5                  47
l0oc07j2

l0oc07j21#

一个按mediaid分组的简单联合应该可以做到这一点

select mediaid, sum(FilteredDocsCount ), sum(filesize)
from 
(select *
from table1 tb1
union all 
select *
from table2) sub
group by mediaid

看看这把小提琴是怎么工作的。

b4qexyjb

b4qexyjb2#

这看起来像一个外部连接:

select t2.mediaid, t2.FilteredDocsCount + coalesce(t1.FilteredDocsCount, 0),
       t2.filesize + coalesce(t1.filesize, 0)
from table2 t2 left join
     table1 t1
     on t2.mediaid = t1.mediaid

相关问题