与えられた下のテーブルのピボット テーブル (クロス集計) を表示したいと思います。
テーブル:Employee
CREATE TABLE Employee
(
Employee_Number varchar(10),
Employee_Role varchar(50),
Group_Name varchar(10)
);
挿入:
INSERT INTO Employee VALUES('EMP101','C# Developer','Group_1'),
('EMP102','ASP Developer','Group_1'),
('EMP103','SQL Developer','Group_2'),
('EMP104','PLSQL Developer','Group_2'),
('EMP101','Java Developer',''),
('EMP102','Web Developer','');
以下に示すように、上記のデータのピボット テーブルを表示します。
期待される結果:
Employee_Number TotalRoles TotalGroups Available Others Group_1 Group_2
---------------------------------------------------------------------------------------------------
EMP101 2 2 1 1 1 0
EMP102 2 2 1 1 1 0
EMP103 1 2 1 0 0 1
EMP104 1 2 1 0 0 1
説明: Employee_Number
、TotalRoles
各従業員が持っている 、TotalGroups
すべての従業員に存在する を表示したい、Available
はその従業員がいくつのグループで利用できるかOthers
を示し、 はその従業員が他のグループでも利用可能であることを示す必要がありますが、これには group_name が割り当てられていません最後Group_Names
に、ピボット形式で表示する必要があります。