表结构为
姓名 登记号码 日期时间
张三 1026 2010-3-22 15:24:35
张三 1026 2010-3-22 17:51:57
张三 1026 2010-3-26 12:39:59
张三 1026 2010-3-26 16:04:44
张三 1026 2010-4-9 11:39:28
张三 1026 2010-4-9 15:20:37
张三 1026 2010-4-9 16:27:53
张三 1026 2010-4-9 17:33:04
张三 1026 2010-4-9 17:54:12
李四 3001 2010-3-22 9:09:59
李四 3001 2010-3-22 19:03:08
李四 3001 2010-3-23 10:59:07
李四 3001 2010-3-23 18:40:39
李四 3001 2010-3-24 9:02:29
李四 3001 2010-3-24 19:36:23
李四 3001 2010-3-24 19:44:31
李四 3001 2010-3-26 9:27:00
李四 3001 2010-3-26 19:35:12
李四 3001 2010-3-29 9:20:58
李四 3001 2010-3-29 18:06:23
王五 3005 2010-3-21 12:14:08
王五 3005 2010-3-22 11:57:42
王五 3005 2010-3-22 19:51:41
王五 3005 2010-3-22 21:30:17
王五 3005 2010-3-23 17:43:09
王五 3005 2010-3-23 20:30:38
现在想将它变成 这种模式
姓名 登记号码 日期 打卡记录
张三 1026 2010-3-22 15:24:35 17:51:57
张三 1026 2010-3-26 12:39:59 16:04:44
张三 1026 2010-4-9 11:39:28 15:20:37 16:27:53 17:33:04 17:54:12
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
------解决方案--------------------
上面的错了
- SQL code
create table #test1(姓名 varchar(10),登记号码 int,日期时间 datetime)insert #test1 select '张三', 1026 ,'2010-3-22 15:24:35'insert #test1 select '张三', 1026 ,'2010-3-22 17:51:57'insert #test1 select '张三', 1026 ,'2010-3-26 12:39:59'insert #test1 select '张三', 1026 ,'2010-3-26 16:04:44'insert #test1 select '张三', 1026 ,'2010-4-9 11:39:28'insert #test1 select '张三', 1026 ,'2010-4-9 15:20:37'insert #test1 select '张三', 1026 ,'2010-4-9 16:27:53'insert #test1 select '张三', 1026 ,'2010-4-9 17:33:04'insert #test1 select '张三', 1026 ,'2010-4-9 17:54:12'insert #test1 select '李四', 3001 ,'2010-3-22 9:09:59'insert #test1 select '李四', 3001 ,'2010-3-22 19:03:08'insert #test1 select '李四', 3001 ,'2010-3-23 10:59:07'insert #test1 select '李四', 3001 ,'2010-3-23 18:40:39'insert #test1 select '李四', 3001 ,'2010-3-24 9:02:29'insert #test1 select '李四', 3001 ,'2010-3-24 19:36:23'insert #test1 select '李四', 3001 ,'2010-3-24 19:44:31'insert #test1 select '李四', 3001 ,'2010-3-26 9:27:00'insert #test1 select '李四', 3001 ,'2010-3-26 19:35:12'insert #test1 select '李四', 3001 ,'2010-3-29 9:20:58'insert #test1 select '李四', 3001 ,'2010-3-29 18:06:23'insert #test1 select '王五', 3005 ,'2010-3-21 12:14:08'insert #test1 select '王五', 3005 ,'2010-3-22 11:57:42'insert #test1 select '王五', 3005 ,'2010-3-22 19:51:41'insert #test1 select '王五', 3005 ,'2010-3-22 21:30:17'insert #test1 select '王五', 3005 ,'2010-3-23 17:43:09'insert #test1 select '王五', 3005 ,'2010-3-23 20:30:38'with tb as(select 姓名,登记号码,convert(char(10),日期时间,120) as 日期,convert(char(8),日期时间,114) as 打卡记录from #test1) select 姓名,登记号码, 日期,stuff((select ' '+打卡记录 from tb where a.日期=日期 for xml path('')),1,1,'') as 打卡记录from tb agroup by 姓名,登记号码, 日期姓名 登记号码 日期 打卡记录---------- ----------- ---------- ---------------------------------李四 3001 2010-03-22 15:24:35 17:51:57 09:09:59 19:03:08 11:57:42 19:51:41 21:30:17李四 3001 2010-03-23 10:59:07 18:40:39 17:43:09 20:30:38李四 3001 2010-03-24 09:02:29 19:36:23 19:44:31李四 3001 2010-03-26 12:39:59 16:04:44 09:27:00 19:35:12李四 3001 2010-03-29 09:20:58 18:06:23王五 3005 2010-03-21 12:14:08王五 3005 2010-03-22 15:24:35 17:51:57 09:09:59 19:03:08 11:57:42 19:51:41 21:30:17王五 3005 2010-03-23 10:59:07 18:40:39 17:43:09 20:30:38张三 1026 2010-03-22 15:24:35 17:51:57 09:09:59 19:03:08 11:57:42 19:51:41 21:30:17张三 1026 2010-03-26 12:39:59 16:04:44 09:27:00 19:35:12张三 1026 2010-04-09 11:39:28 15:20:37 16:27:53 17:33:04 17:54:12(11 行受影响)
------解决方案--------------------