试试这个:
SELECt CustId, SUM(ISNULL(Admin,0)) AS Admin, SUM(ISNULL(Manager,0)) AS Manager, SUM(ISNULL(Support,0)) AS Support, SUM(ISNULL(Assistant,0)) AS AssistantFROM( SELECt cr.CustId, cr.RoleId, Role, 1 AS a FROM CustromerRoles cr INNER JOIN Roles r ON cr.RoleId = r.RoleId) upPIVOT (MAX(a) FOR Role IN (Admin, Manager, Support, Assistant)) AS pvtGROUP BY CustId
经过测试。它给出您想要的相同结果。



