Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да завъртите в SQL

Прочетохте ли документацията за PIVOT в 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;

Не съм тествал горното, а просто го базирах на документа. Това може да ви помогне да започнете.

Изглежда, че няма начин за динамично генериране на колоните. Трябва да ги кодирате твърдо.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Възможно ли е да се внедри пакет SSIS 2012 на SQL Server 2008

  2. SQL групиране по години

  3. Няма поддръжка за OVER в MS SQL Server 2005?

  4. Как да изключа дните на уикенда в заявка на SQL Server?

  5. SQL Server:Как да получите справка за външен ключ от information_schema?