如何用SQL语句汇总两张不同的表相同的列的数量如A1(a,b2,c1);A2(a,b2,c2),c代表数量,如何将查询c的数量

如题所述

select a.a,a.b2,sum(isnull(a.shl,0)+isnull(b.shl,0)) shl --数据结果集
from
(select a,b2,sum(c1) shl from a1 group by a,b2) a --第一张表数据集合
full outer join --显示所有不匹配
(select a,b2,sum(c2) shl from a2 group by a,b2) b --第二张表数据集合
on a.a=b.a and a.b2=b.b2 --两表相同条件字段

这样的写法避免两张表数据不同(比如A1表里有而A2表里没有或A2有A1没有)导致统计差异。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-23
Select 查询内容 From A1 Left Join (或者 Inner Join,Full Join) A2 On A1.a = A2.a
Where 条件...