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
結果
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
EmployeeIDの後に列名をそれぞれName、Age、Salaryに変更するにはどうすればよいですか?
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
おそらくより簡単な解決策が存在しますが、PIVOTステートメントの結果をサブクエリに配置すると、外部選択の列にエイリアスを設定できます。
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