与えられた下のテーブルのピボット テーブル (クロス集計) を表示したいと思います。
テーブル: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に、ピボット形式で表示する必要があります。