合并记录
数据表
姓名 日期 考勤时间
a 2012-7-26 08:00:00
a 2012-7-26 12:01:03
b 2012-7-12 06:02:04
在程序中显示
姓名 日期 时间1 时间2 时间3 时间4
a 2012-7-26 08:00:00 12:01:03
b 2012-7-12 06:02:04
请问怎样在VB中实现?
[解决办法]
用sql语句或视图直接绑定
if object_id('t') is not null drop table t
go
create table t(
姓名 varchar(20),
日期 varchar(10),
考勤时间 varchar(8)
)
insert into t values('a','2012-7-26','08:00:00');
insert into t values('a','2012-7-26','12:01:03');
insert into t values('b','2012-7-12','06:02:04');
select 姓名,日期,
max(case rn when 1 then 考勤时间 else '' end) 时间1,
max(case rn when 2 then 考勤时间 else '' end) 时间2,
max(case rn when 3 then 考勤时间 else '' end) 时间3,
max(case rn when 4 then 考勤时间 else '' end) 时间4
from
(select row_number() over (partition by 姓名,日期
order by 姓名,日期,考勤时间) rn,姓名,日期,考勤时间 from t) t1
group by 姓名,日期
order by 姓名,日期;
go