日期:2014-05-18  浏览次数:20618 次

sql中合并列
表a
字段 年度 单位代码 单位名称 项目代码 项目名称 金额 日期
  2011 001 某基层单位 120 A收费 100 2011-11-17
   

要求以12月份查询
  年度 单位代码 单位名称 项目代码 项目名称 本月数 累计数
  2011 001 某基层单位 120 A收费 0 100

如何写SQL语句,谢谢

------解决方案--------------------
SQL code
select
  年度 ,单位代码 ,单位名称, 项目代码 ,项目名称,
  本月数=sum(case when datepart(mm,日期,getdate())=0 then 金额 else 0 end),
  sum(金额) as 累计数
from
  tb
group by
    年度 ,单位代码 ,单位名称, 项目代码 ,项目名称

------解决方案--------------------
SQL code
select 年度,单位代码,单位名称,项目代码,项目名称,
sum(case when convert(varchar(7),日期,120)='2011-12' then 金额 else 0 end)本月数,
sum(金额) 累计数
from tb
group by 年度,单位代码,单位名称,项目代码,项目名称