0
我想用SQL Server 2008 R2查询UNPIVOT Cnvert Column to Rows。如何使用UNPIVOT将列转换为行SQL Server?
但它是错误
**Msg 170, Level 15, State 1, Line 16
Line 16: Incorrect syntax near 'unpivot'.**
代码:
SELECT EmpNo, CDate, CTime
FROM
(SELECT EmpNo,ChkDate,ChkIn,ChkOut
FROM TA_FillTime) ta1
UNPIVOT
(CTime FOR CDate IN (ChkIn, ChkOut)
) AS ta2
表TA_FillTime:
EmpNo | ChkDate | ChkIn | ChkOut
1290005 | 2013-05-09 | 2013-05-09 07:04:26.000 | 2013-05-09 17:57:36.000
1320005 | 2013-05-09 | 2013-05-09 07:56:17.000 | 2013-05-09 18:24:35.000
1320007 | 2013-05-09 | 2013-05-09 07:45:50.000 | 2013-05-09 17:24:55.000
我需要输出:
EmpNo | CDate | CTime
1290005 | 2013-05-09 | 2013-05-09 07:04:26.000
1290005 | 2013-05-09 | 2013-05-09 17:57:36.000
1320005 | 2013-05-09 | 2013-05-09 07:56:17.000
1320005 | 2013-05-09 | 2013-05-09 18:24:35.000
1320007 | 2013-05-09 | 2013-05-09 07:45:50.000
1320007 | 2013-05-09 | 2013-05-09 17:24:55.000
感谢您的时间,:)
你已经写了实际上将转化'ChkIn'和'Chkout'列行值。检查[SQL小提琴演示](HTTP查询: //sqlfiddle.com/#!3/a6a40/2) – praveen 2013-05-09 10:07:13
我希望这有助于http://blog.sqlauthority.com/2008/05/29/sql-server-unpivot-table-example/ – Narendra 2013-05-09 10:10:39