2011-11-14 19 views
9
SELECT * FROM EmployeeAttributes 
PIVOT (
    MAX(VALUE) 
    FOR AttributeID IN ([DD14C4C2-FC9E-4A2E-9B96-C6A20A169B2E],[BE8149E2-0806-4D59-8482-58223C2F1735],[23B2C459-3D30-41CA-92AE-7F581F2535D4]) 
    ) P 

の検索結果を使用している間変更列名PIVOTのSQL Server 2008の

EmployeeID       DD14C4C2-FC9E-4A2E-9B96-C6A20A169B2E    BE8149E2-0806-4D59-8482-58223C2F1735    23B2C459-3D30-41CA-92AE-7F581F2535D4 
------------------------------------ -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- 
329999EA-6288-4E7D-87E8-12FF865AB301 Rauf            23             10 
34E2B762-F065-42BB-B4D8-2252102F1C20 Amal            NULL 

              5 

は今どのように私は、社員の後に、それぞれ名前、年齢、給与に列名を変更できますか?

答えて

13

ASを使用して列エイリアスを指定します。

SELECT EmployeeID, 
     [DD14C4C2-FC9E-4A2E-9B96-C6A20A169B2E] AS Name, 
     [BE8149E2-0806-4D59-8482-58223C2F1735] AS Age, 
     [23B2C459-3D30-41CA-92AE-7F581F2535D4] AS Salary 
FROM EmployeeAttributes PIVOT (MAX(VALUE) FOR AttributeID IN (
     [DD14C4C2-FC9E-4A2E-9B96-C6A20A169B2E], 
     [BE8149E2-0806-4D59-8482-58223C2F1735], 
     [23B2C459-3D30-41CA-92AE-7F581F2535D4])) P 
+0

+1私は簡単な解決策が存在することを知っていましたが、それは簡単ではありません。。 –

+1

@ Martin Smith私は動的なピボットでもそれを使用できますか?私は動的なピボットを使用するつもりです。 :) http://www.sqlprof.com/blogs/sqldev/archive/2008/04/12/pivots-with-dynamic-columns-in-sql-server-2005-2008.aspx – Rauf

+0

@Rauf - はい。生成された動的SQL文字列がこの形式であることを確認するだけです。 –

8

おそらく、簡単に解決策は存在しますが、サブクエリにPIVOT文の結果を配置することで、外側のSELECTで列をエイリアスすることができます。

SELECT EmployeeID = EmployeeID 
     , Name = [DD14C4C2-FC9E-4A2E-9B96-C6A20A169B2E] 
     , Age = [BE8149E2-0806-4D59-8482-58223C2F1735] 
     , Salary = [23B2C459-3D30-41CA-92AE-7F581F2535D4] 
FROM (
      SELECT * 
      FROM EmployeeAttributes 
      PIVOT (MAX(VALUE) FOR AttributeID IN (
        [DD14C4C2-FC9E-4A2E-9B96-C6A20A169B2E] 
        , [BE8149E2-0806-4D59-8482-58223C2F1735] 
        , [23B2C459-3D30-41CA-92AE-7F581F2535D4]) 
     ) P 
     ) P     
+0

驚くばかりのチップ、ありがとう! – craig

関連する問題