您当前的位置: 首页 >  sql

[MSSQL]一步一步教你利用case when 实现行列转换

发布时间:2012-02-01 14:47:00 ,浏览量:0

根据业务需求写出大概的sql:

select datepart(month,[Date]) 月份,users.[name]  业务员,count(users.[name]) 数量,t.[Description] 类别  from Quo_Standardcost inner join  users on BusinessId=users.id
    inner join (select UserId,[Description] from JobType inner join JobTypeDetail on ParentId=JobType.Id) AS t ON BusinessId=t.UserId
group by datepart(month,[Date]),t.[Description],name
order by t.[Description]

最终的结果是

中间写入临时表,比较好操作 主要是没办法 SQL SERVER 2000版本低呀 否则就用with了

第二步:

按月份,业务员,类别汇总吧

select  业务员,类别,
一月=isnull(sum(case 月份 when '1' then 数量 end),0),
二月=isnull(sum(case 月份 when '2' then 数量 end),0), 
三月=isnull(sum(case 月份 when '3' then 数量 end),0),
四月
关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    106591博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0470s