sql两个表数据求和

例如db1内数据AB1X1X3S3Sdb2内的数据AB3.5X1.2X1.8S5.9S需要的结果AB1(4.7)3(7.7)括号内的结果来自B列等于X的相加(相加条件是D... 例如db1内数据
A B

1 X

1 X
3 S
3 S
db2内的数据
A B
3.5 X
1.2 X
1.8 S
5.9 S

需要的结果
A B
1 (4.7)
3 (7.7)
括号内的结果来自B列等于X的相加(相加条件是DB1 A列同名)
展开
 我来答
云九奈14
2014-07-04 · 超过62用户采纳过TA的回答
知道答主
回答量:132
采纳率:75%
帮助的人:57.4万
展开全部
楼上的想法是这样,先把俩张表的数据都查出来,使用union关键字,相应列使用同样的同名。 这样可以把俩张表当成一张表来操作,应该是可行的。
select t.name , t.brand , t.type, t.package , sum(t.totalcount), sum(t.weight) from (
select 商品名称1 as name , 商品品牌1 as brand , 商品型号1 as type, 商品包装1 as package , 商品数量1 as totalcount, 商品重量1 as weight from 商品表1 union all
select 商品名称2 as name , 商品品牌2 as brand , 商品型号2 as type, 商品包装2 as package , 商品数量2 as totalcount, 商品重量2 as weight from 商品表2
) t group by t.name ,t.brand , t.type, t.package

但是我不明白的是,你这是俩张表吗,这是什么样的两张表。。。 完全一样的列,完全一样的类型,干吗要成两张表。
匿名用户
推荐于2017-10-10
展开全部
SELECT DB1.A,SUM(DB2.A) as B 
FROM DB1 LEFT JOIN DB2 ON DB1.B=DB2.B 
GROUP BY DB1.A

 这是没有去重的,看你db1表数据有重复的,假如想去重的话可以加上DISTINCT

SELECT DISTINCT DB1.A,SUM(DB2.A) as B 
FROM DB1 LEFT JOIN DB2 ON DB1.B=DB2.B 
GROUP BY DB1.A
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式