sqlserver交叉表出先问题请帮忙看下
create TABLE #mpsl
(
员工工时状态 varchar(50),
员工登记姓名代码 int,
考勤登记日期 date,
日考勤序号 int,
考勤登记时间 varchar(50),
统计年份月份 varchar(50),
统计年份月份代码 int,
考勤登记种类 varchar(50)
)
insert into #mpsl(员工工时状态,员工登记姓名代码,考勤登记日期,日考勤序号,考勤登记时间,统计年份月份,统计年份月份代码,考勤登记种类) values ('出勤制',1,'1990-01-01',1,'01:00','1990-01-01',0,'出勤')
insert into #mpsl(员工工时状态,员工登记姓名代码,考勤登记日期,日考勤序号,考勤登记时间,统计年份月份,统计年份月份代码,考勤登记种类) values ('出勤制',1,'1990-01-01',2,'03:00','1990-01-01',0,'出勤')
insert into #mpsl(员工工时状态,员工登记姓名代码,考勤登记日期,日考勤序号,考勤登记时间,统计年份月份,统计年份月份代码,考勤登记种类) values ('出勤制',1,'1990-01-01',3,'04:00','1990-01-01',0,'出勤')
insert into #mpsl(员工工时状态,员工登记姓名代码,考勤登记日期,日考勤序号,考勤登记时间,统计年份月份,统计年份月份代码,考勤登记种类) values ('出勤制',1,'1990-01-01',4,'05:00','1990-01-01',0,'出勤')
insert into #mpsl(员工工时状态,员工登记姓名代码,考勤登记日期,日考勤序号,考勤登记时间,统计年份月份,统计年份月份代码,考勤登记种类) values ('出勤制',1,'1990-01-01',5,'06:00','1990-01-01',0,'出勤')
insert into #mpsl(员工工时状态,员工登记姓名代码,考勤登记日期,日考勤序号,考勤登记时间,统计年份月份,统计年份月份代码,考勤登记种类) values ('出勤制',1,'1990-01-01',6,'07:00','1990-01-01',0,'出勤')
insert into #mpsl(员工工时状态,员工登记姓名代码,考勤登记日期,日考勤序号,考勤登记时间,统计年份月份,统计年份月份代码,考勤登记种类) values ('出勤制',2,'1990-01-01',1,'01:00','1990-01-01',0,'出勤')
insert into #mpsl(员工工时状态,员工登记姓名代码,考勤登记日期,日考勤序号,考勤登记时间,统计年份月份,统计年份月份代码,考勤登记种类) values ('出勤制',2,'1990-01-01',2,'02:00','1990-01-01',0,'出勤')
insert into #mpsl(员工工时状态,员工登记姓名代码,考勤登记日期,日考勤序号,考勤登记时间,统计年份月份,统计年份月份代码,考勤登记种类) values ('出勤制',2,'1990-01-01',3,'03:00','1990-01-01',0,'出勤')
insert into #mpsl(员工工时状态,员工登记姓名代码,考勤登记日期,日考勤序号,考勤登记时间,统计年份月份,统计年份月份代码,考勤登记种类) values ('出勤制',2,'1990-01-01',4,'04:00','1990-01-01',0,'出勤')
insert into #mpsl(员工工时状态,员工登记姓名代码,考勤登记日期,日考勤序号,考勤登记时间,统计年份月份,统计年份月份代码,考勤登记种类) values ('出勤制',2,'1990-01-01',5,'05:00','1990-01-01',0,'出勤')
insert into #mpsl(员工工时状态,员工登记姓名代码,考勤登记日期,日考勤序号,考勤登记时间,统计年份月份,统计年份月份代码,考勤登记种类) values ('出勤制',2,'1990-01-01',6,'06:00','1990-01-01',0,'出勤')
select 员工工时状态,员工登记姓名代码,考勤登记日期, 统计年份月份,统计年份月份代码, 考勤登记种类,(case 日考勤序号 when '1' then 考勤登记时间 else '0:00' end) as '第1考勤时间',(case 日考勤序号 when '2' then 考勤登记时间 else '0:00' end) as '第2考勤时间',(case 日考勤序号 when '3' then 考勤登记时间 else '0:00' end) as '第3考勤时间',(case 日考勤序号 when '4' then 考勤登记时间 else '0:00' end) as '第4考勤时间',(case 日考勤序号 when '5' then 考勤登记时间 else '0:00' end) as '第5考勤时间',(case 日考勤序号 when '6' then 考勤登记时间 else '0:00' end) as '第6考勤时间' from #mpsl group by 员工工时状态,员工登记姓名代码,考勤登记日期,统计年份月份,统计年份月份代码,考勤登记种类,日考勤序号,考勤登记时间
出来的结果是梯形的 应该来说一个用户一天的考勤应该是一条数据 而不是6条
应该是
出勤制 1 1990-01-01 1990-01-01 0 出勤 01:00 03:00 04:00 05:00 06:00 07:00