MS SQL 2008 - 将行转换为列

时间:2014-06-26 13:36:29

标签: sql-server-2008

我有一个考勤表,其结构是这样的。

CREATE TABLE ATTENDANCE(
EmployeeID VARCHAR(10),
LogDate DATETIME);

表中列出了以下值:

INSERT INTO ATTENDANCE VALUES('1','2014-06-25 09:30:00:00')
INSERT INTO ATTENDANCE VALUES('1','2014-06-25 13:20:00:00')
INSERT INTO ATTENDANCE VALUES('1','2014-06-25 15:40:00:00')
INSERT INTO ATTENDANCE VALUES('1','2014-06-25 18:21:00:00')

INSERT INTO ATTENDANCE VALUES('2','2014-06-25 08:31:00:00')
INSERT INTO ATTENDANCE VALUES('2','2014-06-25 14:21:00:00')
INSERT INTO ATTENDANCE VALUES('2','2014-06-25 16:43:00:00')
INSERT INTO ATTENDANCE VALUES('2','2014-06-25 19:22:00:00')

INSERT INTO ATTENDANCE VALUES('1','2014-06-26 09:30:00:00')
INSERT INTO ATTENDANCE VALUES('1','2014-06-26 13:20:00:00')
INSERT INTO ATTENDANCE VALUES('1','2014-06-26 15:40:00:00')
INSERT INTO ATTENDANCE VALUES('1','2014-06-26 18:21:00:00')

INSERT INTO ATTENDANCE VALUES('2','2014-06-26 08:31:00:00')
INSERT INTO ATTENDANCE VALUES('2','2014-06-26 14:21:00:00')
INSERT INTO ATTENDANCE VALUES('2','2014-06-26 16:43:00:00')
INSERT INTO ATTENDANCE VALUES('2','2014-06-26 19:22:00:00')

我想显示如下数据:

Emp ID    Attendance Date    Log 1          Log 2          Log 3          Log 4
1         25-04-2014         09:30:00:00    13:20:00:00    15:40:00:00    18:21:00:00
2         25-04-2014         08:31:00:00    14:21:00:00    16:43:00:00    19:22:00:00
1         26-04-2014         09:30:00:00    13:20:00:00    15:40:00:00    18:21:00:00
2         26-04-2014         08:31:00:00    14:21:00:00    16:43:00:00    19:22:00:00

请帮我构建此查询。

谢谢,

拉​​杰什

0 个答案:

没有答案