日期:2014-05-17 浏览次数:20451 次
select 姓名,工号,日期,班次 from TB
unpivot(班次 for 日期 in ('2012.10.08','2012.10.09','2012.10.10','2012.10.11','2012.10.12'))
--测试数据
if object_id('work') is not null drop table work
create table work(姓名 nvarchar(20),工号 nvarchar(20),[2012.10.08] nvarchar(20),[2012.10.09] nvarchar(20),
[2012.10.10] nvarchar(20),[2012.10.11] nvarchar(20),[2012.10.12] nvarchar(20))
go
insert into work
select '张三','10233','白班','休息','白班','白班','休息' union all
select '李四','10234','休息','休息','白班','白班','白班'
--select * from work
--查看结果
select 姓名,工号,日期,班次 from work
unpivot(班次 for 日期 in ([2012.10.08],[2012.10.09],[2012.10.10],[2012.10.11],[2012.10.12]))t
/*
姓名 工号 日期 班次
-------------------- -------------------- --------------------------------- --------------------
张三 10233 2012.10.08 白班
张三 10233 2012.10.09 休息
张三 10233 2012.10.10 白班
张三 10233 2012.10.11 白班
张三&n