SQL语句查询两张表,数据求和问题??

比如:
A表
商品名称1 商品品牌1 商品型号1 商品包装1 商品数量1 商品重量1
name1 brand1 type1 package1 100 200
name2 brand2 type2 package2 100 200
name3 brand3 type3 package3 100 200
B表
商品名称2 商品品牌2 商品型号2 商品包装2 商品数量2 商品重量2
name1 brand1 type1 package1 100 200
name3 brand3 type3 package3 100 200

求得出
商品名称 商品品牌 商品型号 商品包装 商品数量 商品重量
name1 brand1 type1 package1 200 400
name2 brand2 type2 package2 100 200
name3 brand3 type3 package3 200 400

请问大侠们,这个SQL语句怎么实现啊

第1个回答  2012-03-05
楼上的想法是这样,先把俩张表的数据都查出来,使用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

但是我不明白的是,你这是俩张表吗,这是什么样的两张表。。。 完全一样的列,完全一样的类型,干吗要成两张表。追问

谢谢你的详细解答,呵呵,分给你了

本回答被提问者采纳
第2个回答  2012-03-05
select * from A a left jion B b
第3个回答  2012-03-05
1. union,然后分组求和
2. 比较复杂,算了追问

主要是两张表的字段不同..

追答

你union,只要数据类型一致就可以了,不需要考虑字段名是否一样。

相似回答