sql server 2008关联统计(sum、count、case、group by)

--总表 统计
select ProjectType ,CompletedTime,
count(distinct ProjectId) as ProjectCount,

--COUNT(distinct RelatedTabId) as WellCount,

COUNT(distinct position) as PositionCount,

COUNT(distinct ManageMan) as ManageManCount,

COUNT(distinct ProjectType) as ProjectTypeCount,

--根据ManageUnit 和 RelatedTabName统计个数
sum(case when ManageUnit=1 and RelatedTabName='A' then 1 else 0 end) as MCCount, 

sum(case when ManageUnit=1 and RelatedTabName='B' then 1 else 0 end) as 

MCCount2, 

sum(case when ManageUnit=1 and RelatedTabName='C' then 1 else 0 end) as 

MCCount3, 

sum(case when ManageUnit=1 and RelatedTabName='D' then 1 else 0 end) as 

MCCount4, 

sum(case when ManageUnit=3 and RelatedTabName='A' then 1 else 0 end) as MDCount, 

sum(case when ManageUnit=3 and RelatedTabName='B' then 1 else 0 end) as 

MDCount2, 

sum(case when ManageUnit=3 and RelatedTabName='C' then 1 else 0 end) as 

MDCount3, 

sum(case when ManageUnit=3 and RelatedTabName='D' then 1 else 0 end) as 

MDCount4, 

sum(case when ManageUnit=3 and RelatedTabName='E' then 1 else 0 end) as 

MDCount5, 


--根据 RelatedTabName统计个数
sum(case when RelatedTabName='A' then Area else 0 end) as MArea, 

sum(case when RelatedTabName='B' then Area else 0 end) as MArea2, 

sum(case when RelatedTabName='C' then Area else 0 end) as MArea3, 

sum(case when RelatedTabName='D' then Area else 0 end) as MArea4, 

--面积(亩)
SUM(Area) as TotalArea
 from (
  select a.ProjectId as ProjectId,a.Village as Village,
  a.TownShip as TownShip,a.CompletedTime as CompletedTime,
  a.ProjectType as ProjectType,a.ManageMan as ManageMan,
  a.IrrigateType as IrrigateType,a.ResourceType as ResourceType,
  a.Area as Area, convert(varchar(50),a.TownShip)+','+convert(varchar(50),a.Village) as 

position,
  a.ManageMode as ManageUnit,b.RelatedTabId as RelatedTabId,
  b.RelatedTabName as RelatedTabName   
  from A_ProjectInfo a 
  left join (
  select RelatedTabId, ProjectId,RelatedTabName from A_ProjectInfo_Relate 
  where 1=1 and  RelatedTabId in (select MachineId from A_Well)
 ) b on a.ProjectId=b.ProjectId where 1=1 
 --查询条件
 --and a.TownShip={0} 
 --and a.Village={0}  
 --and a.ProjectType='{0}' 
 --and a.CompletedTime<='{0}' 
) t group by t.CompletedTime,t.ProjectType order by t.CompletedTime,t.ProjectType



 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值