请教:SQL汇总语句的写法
野_草 2006-06-12 09:15:23 CREATE TABLE 表1(名称 varchar(10), 数量 int, 使用地点 varchar(10), 类别 varchar(10))
INSERT 表1 select 'A',2,'N1','CATE1'
union all select 'B',1,'N2','CATE1'
union all select 'A',1,'N2','CATE1'
create table 表2(名称 varchar(10),库存 int)
insert 表2 SELECT 'A','3'
UNION ALL SELECT 'B','6'
GO
select 表1.名称,总数 = sum(数量) + sum(库存),
N1所有数量 = sum(case when 使用地点 = 'N1' then 数量 else 0 end),
N2所有数量 = sum(case when 使用地点 = 'N2' then 数量 else 0 end),
库存 = sum(库存)
from 表1 JOIN 表2 on 表1.名称 = 表2.名称
group by 表1.名称
go
错误结果:
名称 总数 N1 N2 库存
A 9 2 1 6(错误汇总数据)
B 7 0 1 6
表1 JOIN 表2 后,产生重复元组,使汇总重复,如何写SQL语句?
这是上午一个问题的继续,请帮忙!