SQL数据表按天横向分类汇总?

CLICK人生 2013-07-01 03:01:29
表名:MO_TABLE
编号 名称 产量 完成日期
A01 车间A 900 2013-06-10
A02 车间B 700 2013-06-10
A01 车间A 600 2013-06-11
A02 车间B 1300 2013-06-11
A01 车间A 800 2013-06-12
A02 车间B 600 2013-06-12
.........


编号 名称 2013-06-10 2013-06-11 2013-06-12 ..........
A01 车间A 900 600 800
A02 车间B 700 1300 600

...全文
341 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yiyishuitian 2013-07-01
  • 打赏
  • 举报
回复
又见列转行 ,今天刚写的汇总贴,还没写完.你可以看看 http://hi.baidu.com/yiyishuitian/item/ba0d1f000066b5f2a01034ac
Mr_Nice 2013-07-01
  • 打赏
  • 举报
回复
if object_id('[MO_TABLE]') is not null drop table [MO_TABLE]
go
create table [MO_TABLE] (编号 nvarchar(6),名称 nvarchar(6),产量 int,完成日期 datetime)
insert into [MO_TABLE]
select 'A01','车间A',900,'2013-06-10' union all
select 'A02','车间B',700,'2013-06-10' union all
select 'A01','车间A',600,'2013-06-11' union all
select 'A02','车间B',1300,'2013-06-11' union all
select 'A01','车间A',800,'2013-06-12' union all
select 'A02','车间B',600,'2013-06-12'

select * from [MO_TABLE]



declare @sql varchar(8000)
select @sql = isnull(@sql + '],[' , '') + CONVERT(VARCHAR(10),完成日期,120) from [MO_TABLE] group by CONVERT(VARCHAR(10),完成日期,120)
set @sql = '[' + @sql + ']'
exec ('select * from (select * from [MO_TABLE]) a pivot (max(产量) for 完成日期 in (' + @sql + ')) b')

/*
编号	名称	2013-06-10	2013-06-11	2013-06-12
A01	车间A	900	600	800
A02	车间B	700	1300	600*/

  • 打赏
  • 举报
回复
百度行列转换

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧