求助:SQL分类汇总求和运算

A表ID编号数量01010130101023020201102020220303013B表ID编号数量010101402020120303013selectsum(A.数... A表 ID 编号 数量
01 0101 3
01 0102 3
02 0201 1
02 0202 2
03 0301 3

B表
ID 编号 数量
01 0101 4
02 0201 2
03 0301 3

select sum(A.数量) as 数量A from A group by ID
select sum(B.数量) as 数量B from B group by ID
然后:数量A-数量B

求结果为:

C表 ID 数量
01 2
02 1
03 0

问SQL里怎么实现啊,怎么写SQL语句啊?谢谢了
展开
 我来答
hit_lubin
2011-08-04 · TA获得超过7889个赞
知道大有可为答主
回答量:1554
采纳率:100%
帮助的人:2098万
展开全部
select t1.id, t1.数量 - isnull(t2.数量, 0) as 数量
from
(select id, sum(数量) as 数量
from a
group by id ) t1 left join
(select id, sum(数量) as 数量
from b
group by id) t2 on t1.id = t2.id

使用left join是担心a表的id会在b表不存在,那么就会缺少这个id的差值了。
flyingFish211
2011-08-04 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.2亿
展开全部
SELECT A.ID, SUM(A.数量- B.数量)
FROM A, B
WHERE A.ID = B.ID
GROUP BY A.ID
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式