我想显示下表的数据透视表(交叉表)。
桌子: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
所有员工都拥有的,显示员工在多少组中可用,必须显示员工在其他组中可用,group_name 尚未分配最后必须以数据透视格式显示。TotalRoles
TotalGroups
Available
Others
Group_Names