日期:2014-05-18 浏览次数:20457 次
select 销售小组='第一组', 产品1销售金额=(select isnull(sum(产品1金额),0) from report where 销售小组='第1组'), 产品2销售金额=(select isnull(sum(产品2金额),0) from report where 销售小组='第1组'), 合同1签约数=(select count(*) from report where 合同1=‘有效’), 得分=(select isnull(sum(产品1金额),0) from report where 销售小组='第1组')/10000+ (select isnull(sum(产品2金额),0) from report where 销售小组='第1组')/10000 +(select count(*) from report where 合同1=‘有效’) union ......(小组2的记录,语句同小组1)
select 销售小组,sum(产品1销售金额) as 产品1金额,sum(产品2金额) as 产品2金额 from report group by 销售小组
select 销售小组,count(*) as 合同1签约数 from report where 合同1='有效' group by 销售小组
go if OBJECT_ID('report')is not null drop table report go create table report( 销售人员 varchar(10), 销售小组 varchar(8), 产品1销售金额 money, 产品1销售日期 date, 产品2销售金额 money, 产品2销售日期 date, 合同1 varchar(4), 合同1签约日期 date ) go insert report select '张三','第一组',10,'2012-04-01',5,'2012-04-02',null,null union all select '李四','第二组',null,null,null,null,'有效','2012-04-03' union all select '王五','第三组',null,null,5,'2012-04-10','无效','2012-04-2' select * from report select 销售小组,sum(isnull(产品1销售金额,0)) as 产品1金额, sum(isnull(产品2销售金额,0)) as 产品2金额, sum(case when 合同1='有效' then 1 else 0 end) as 合同1数量, sum(isnull(产品1销售金额,0)+isnull(产品2销售金额,0)+ (case when 合同1='有效' then 1 else 0 end))得分 from report where 产品1销售日期='2012-04-01' or 产品2销售日期='2012-04-01' or 合同1签约日期='2012-04-01' group by 销售小组 /* 销售小组 产品1金额 产品2金额 合同1数量 得分 第一组 10.00 5.00 0 15.00 */ --是这个意思吗?