我有一个这样的表...TSQL复合枢纽
LEVEL Action Date User
--------------------------------------------------
1 Approve 01/01/2013 User1
2 Approve 02/01/2013 User2
3 Rejected 03/01/2013 User3
1 Approve 04/01/2013 User1
2 Approve 05/01/2013 User2
3 Approve 06/01/2013 User3
. . . .
. . . .
. . . .
而且我想这个...
这可能使用PIVOT?
LEVEL1 - User 1 LEVEL2 - User 2 LEVEL3 - User 3
---------------------------------------------------------------------------
01/01/2013 - Approve 02/01/2013 - Approve 03/01/2013 - Rejected
04/01/2013 - Approve 05/01/2013 - Approve 06/01/2013 - Approve
. . .
. . .
注:级数是动态的。例如它可以是5级,6级等完全批准一个项目。所以Pivoted表中的列数是动态的。
对于动态列数 - 您将不得不使用动态SQL。在这个网站和整个互联网上都有很多例子。 http://stackoverflow.com/questions/10404348/sql-server-dynamic-pivot-query https://www.simple-talk.com/blogs/2007/09/14/pivots-with-dynamic-columns-in -sql-server-2005/ – 2013-05-07 11:27:57