sql server 2005 中的PIVOT和UNPIVOT中的應用

現有一張表(沒有現成的表,臨時產生)格式以下:
         機器1  機器2  機器3  機器4  機器5  機器6
組別1       1      2      3       4       5      6
組別2       5      9      7       2       1      3
組別3       9      5      6       4       4      3
如今想轉換成以下格式:
       組別1  組別2  組別3
機器1   1       5      9
機器2   2       9      5
機器3   3       7      6
機器4   4       2      4
機器5   5       1      4
機器6   6       3      5
不知道怎麼實現?請高手指教!謝謝!
能解釋sql語句的含義最好!!sql

 

 

-- 測試環境
declare   @t   table (zb  varchar ( 10 ),機器1  int ,機器2  int ,機器3  int ,機器4  int ,機器5  int ,機器6  int )
insert   into   @t   select   ' 組別1 ' , 1 , 2 , 3 , 4 , 5 , 6
union   all   select   ' 組別2 ' , 5 , 9 , 7 , 2 , 1 , 3
union   all   select   ' 組別3 ' , 9 , 5 , 6 , 4 , 4 , 3

SELECT   *   FROM  
(
SELECT   Employee,zb,Orders
FROM  
   (
SELECT  zb, 機器1, 機器2, 機器3, 機器4, 機器5, 機器6
   
FROM   @t ) p
UNPIVOT
   (Orders 
FOR  Employee  IN  
      (機器1, 機器2, 機器3, 機器4, 機器5, 機器6)
)
AS  unpvt
) T
 PIVOT
(
MAX (ORDERS)
 
for  zb  in  ( [ 組別1 ] , [ 組別2 ] , [ 組別3 ] )
)
as  pt
-- 結果
/*
Employee                                                                                                                         組別1         組別2         組別3
-------------------------------------------------------------------------------------------------------------------------------- ----------- ----------- -----------
機器1                                                                                                                              1           5           9
機器2                                                                                                                              2           9           5
機器3                                                                                                                              3           7           6
機器4                                                                                                                              4           2           4
機器5                                                                                                                              5           1           4
機器6                                                                                                                              6           3           3

(6 行受影響)
*/