Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie man in SQL schwenkt

Haben Sie die Dokumentation zu PIVOT gelesen in Microsoft SQL Server 2005?

SELECT CustId, 
  [1] AS Admin,
  [2] AS Manager,
  [3] AS Support,
  [4] AS Assistant
FROM (SELECT c.CustId, r.RoleId
FROM CustomerRoles c JOIN Roles r USING (RoleId)) AS s
PIVOT (
 COUNT(CustId)
 FOR RoleId IN ([1], [2], [3], [4])
) AS pvt
ORDER BY CustId;

Ich habe das oben nicht getestet, sondern nur auf der Grundlage des Dokuments. Dies könnte Ihnen den Einstieg erleichtern.

Es scheint keine Möglichkeit zu geben, die Spalten dynamisch zu generieren. Sie müssen sie fest codieren.