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列同名) 展开
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列同名) 展开
2个回答
展开全部
楼上的想法是这样,先把俩张表的数据都查出来,使用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
但是我不明白的是,你这是俩张表吗,这是什么样的两张表。。。 完全一样的列,完全一样的类型,干吗要成两张表。
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询