我如何...我们如何计算两个表的总和的差异.... [英] How do I...how we can calculate the difference of sum of two tables....

查看:67
本文介绍了我如何...我们如何计算两个表的总和的差异....的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

亲爱的先生

我有两个sql表Table1和Table2有以下数据:



Table1

Dear sir
I have two sql table Table1 and Table2 which have the following data:

Table1

ID	 ItemName	Quantity
1	 Collar		100
2	 freeze		200
3	 collar		400
4	 freeze		200
5	 tv		200
6	 tv		500



Table2


Table2

ID	 ItemName	Quantity
1	 Collar		70
2	 collar		60
3	 tv		200
4	 freeze		50
5	 tv		90
6	 freeze		300



我想找到两个表的数量总和的差异。并且想要计算如下:



结果


I want to find the difference of Sum of Quantity of both tables. And want to calculate like:

Result

ItemName	Quantity
Collar		370
freeze		50
tv		410





请帮助执行sql查询以解决此问题

谢谢提前



Please help to execute sql query for solving this problem
Thanks advance

推荐答案

这里我根据您的要求创建了新查询



Here I created new query and according to your requirement

SELECT ItemName, SUM(tb1total-tb2total) AS DIFF
from
(
    select ItemName,sum(Quantity) as tb1total,0 as tb2total
    from Table1 group by ItemName
    union all
    select ItemName,0 as tb1total, sum(Quantity) as tb2total
    from Table2 group by ItemName
) t
group by ItemName


我更喜欢使用cte而不是临时表< br $> b $ b

i prefer using cte instead of temporary table

; with table1grouped as (
    SELECT ItemName,Sum(Quantity) as Quantity
    FROM table1
    GROUP BY itemName
), table2grouped as (
    SELECT ItemName,Sum(Quantity) as Quantity
    FROM table2
    GROUP BY itemName
)
SELECT ItemName, (t1g.Quantity - ISNULL(t2g.Quantity,0)) as Quantity
FROM table1grouped t1g
LEFT JOIN table2grouped t2g on t1g.ItemName = t2g.ItemName


select  sub.ItemName, SUM(sub.Quatity) from (select Table1.ItemName ,SUM(Table1.Quantity)Quatity from Table1
group by  Table1.ItemName
union
select Table2.ItemName ,SUM(Table2.Quantity)*-1 Quatity from Table2
group by  Table2.ItemName) sub group by ItemName


这篇关于我如何...我们如何计算两个表的总和的差异....的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆