Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak obracać w SQL

Czy przeczytałeś dokumentację dotyczącą PIVOT w 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;

Nie przetestowałem powyższego, ale właśnie oparłem to na dokumencie. To może Ci pomóc.

Wydaje się, że nie ma sposobu na dynamiczne generowanie kolumn. Musisz je zakodować na stałe.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Uruchom plik .sql z aplikacji w C# przy użyciu biblioteki SMO

  2. Klauzula WHERE lepiej wykonać przed IN i JOIN lub po

  3. Znajdź łączną liczbę minut ignorując nakładanie się (konwertuj odpowiedź opartą na kursorze na CTE)

  4. Jak zmienić model odzyskiwania bazy danych SQL Server za pomocą T-SQL

  5. 900-bajtowy limit rozmiaru indeksu w długości znaków