mysql - Sql查询选择table1的sum和table2的sum并相减

标签 mysql sql-server sql-server-2008

Select idn, sum(tblppmp.total_item) as a_total
sum(tblRequest.Quantity) as b_total
sum(a_total- b_total) as itemsleft
FROM PPMP.dbo.tblppmp, ppmp.dbo.tblrequest
Group by idn

我有一个问题,如何对 table1 和 table2 中的各个项目求和,并将结果相减以获得答案。

像这样

table1
id     item
1        2
2        3
3        4

表2

id       item
1        1
2        2
3        3

我想要的结果是这样的..

表3

sum(table.item) - sum(table2.item)

table1.id 1 = 2
table2.id 1 = 1
so (2-1) = 1

id     item_left
1      1
2      1
3      1

id 项目

最佳答案

您可以先计算每个表的总和,然后再减去它们。

select  idn, 
        a_total - ISNULL(r_total,0) as itemsleft
FROM
(
    select idn, sum(p.total_item) as p_total
    from    PPMP.dbo.tblppmp p
    group by idn
) p
LEFT JOIN 
(
    select idn, sum(r.Quantity) as r_total
    from    ppmp.dbo.tblrequest r
    group by idn
) r on p.idn = r.idn

关于mysql - Sql查询选择table1的sum和table2的sum并相减,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44621237/

相关文章:

Mysql查询通过过滤器选择产品

python - TypeError : not all arguments converted during string formatting. 我哪里做错了

php - 如何通过一个查询检查多个表中是否存在行?

sql - 显示部分或完全缺少关联值的标题

mysql - CakePHP - 生成的查询无法与 SQL Server 一起正常工作

performance - SQL Server 2008 FILESTREAM性能

ruby-on-rails - Ruby on Rails 和 MS SQL EXPRESS

c# - 无法加载文件或程序集 'crystal decisions.windows.forms,version=13.0.2000.0'

mysql - 查询某个事件在给定时间发生的频率

sql-server - 在链接服务器上使用身份插入