日期:2014-05-18 浏览次数:20770 次
-- 时间 项目1 项目2 项目3 项目4 项目5
--2012-1-1 00:00:00 1 2 3 4 5
--2012-1-1 01:00:00 6 7 8 9 10
--2012-1-1 02:00:00 11 12 13 14 15
--2012-1-1 03:00:00 16 17 18 19 20
--...
if OBJECT_ID('tb') is not null
drop table tb
go
create table tb(时间 varchar(50),项目1 int,项目2 int, 项目3 int, 项目4 int, 项目5 int,)
insert into tb values('2012-1-1 00:00:00', 1, 2 ,3 ,4 ,5)
insert into tb values('2012-1-1 01:00:00', 6, 7 ,8 ,9 ,10)
insert into tb values('2012-1-1 02:00:00', 11, 12, 13, 14 ,15)
insert into tb values('2012-1-1 03:00:00', 16, 17 ,18, 19 ,20)
--取出2011-1-1的格式
--时间 0 1 2 3 4 5 6 7 8 9。。。。24
--项目1 1 6 11 16。。。
--项目2 2 7 12 17。。。
--项目3 3 8 13 18。。。
--项目4 4 9 14 20。。。
--项目5 5 10 20 25。。。
select '项目1'as 时间 ,
max(case DATEPART(HH,时间)when 0 then 项目1 else '0' end ) '0',
max(case DATEPART(HH,时间)when 1 then 项目1 else '0' end ) '1',
max(case DATEPART(HH,时间)when 2 then 项目1 else '0' end ) '2',
max(case DATEPART(HH,时间)when 3 then 项目1 else '0' end ) '3'
from tb t
union all
select '项目2'as 时间 ,
max(case DATEPART(HH,时间)when 0 then 项目2 else '0' end ) '0',
max(case DATEPART(HH,时间)when 1 then 项目2 else '0' end ) '1',
max(case DATEPART(HH,时间)when 2 then 项目2 else '0' end ) '2',
max(case DATEPART(HH,时间)when 3 then 项目2 else '0' end ) '3'
from tb t
union all
select '项目3'as 时间 ,
max(case DATEPART(HH,时间)when 0 then 项目3 else '0' end ) '0',
max(case DATEPART(HH,时间)when 1 then 项目3 else '0' end ) '1',
max(case DATEPART(HH,时间)when 2 then 项目3 else '0' end ) '2',
max(case DATEPART(HH,时间)when 3 then 项目3 else '0' end ) '3'
from tb t
union all
select '项目4'as 时间 ,
max(case DATEPART(HH,时间)when 0 then 项目4 else '0' end ) '0',
max(case DATEPART(HH,时间)when 1 then 项目4 else '0' end ) '1',
max(case DATEPART(HH,时间)when 2 then 项目4 else '0' end ) '2',
max(case DATEPART(HH,时间)when 3 then 项目4 else '0' end ) '3'
from tb t
union all
select '项目5'as 时间 ,
max(case DATEPART(HH,时间)when 0 then 项目5 else '0' end ) '0',
max(case DATEPART(HH,时间)when 1 then 项目5 else '0' end ) '1',
max(case DATEPART(HH,时间)when 2 then 项目5 else '0' end ) '2',
max(case DATEPART(HH,时间)when 3 then 项目5 else '0' end ) '3'
from tb t
时间 0 1 2 3
----- ----