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

W Sql Server, jak obracać dla wielu kolumn

Musisz zmienić nazwy kolumn dla następnej instrukcji przestawnej.

Lubię

SELECT
*
FROM
(
  SELECT 
   Branch,
   Category,
   Category+'1' As Category1,
   Category+'2' As Category2,
   Sales, 
   Stock, 
   Target
  FROM TblPivot
 ) AS P

 -- For Sales
 PIVOT
 (
   SUM(Sales) FOR Category IN ([Panel], [AC], [Ref])
 ) AS pv1

 -- For Stock
 PIVOT
 (
   SUM(Stock) FOR Category1 IN ([Panel1], [AC1], [Ref1])
 ) AS pv2

 -- For Target
 PIVOT
 (
   SUM(Target) FOR Category2 IN ([Panel2], [AC2], [Ref2])
 ) AS pv3
 GO

Jesteś gotowy do pracy...

Możesz użyć agregacji pv3 do zsumowania i pogrupowania według potrzebnej kolumny.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server DATEPART() vs DATENAME() — jaka jest różnica?

  2. Pozycje ORDER BY muszą pojawić się na liście wyboru, jeśli instrukcja zawiera operator UNION, INTERSECT lub EXCEPT (SQL Server)

  3. Użyj FILE_IDEX(), aby zwrócić identyfikator pliku bazy danych w SQL Server

  4. Czy można uruchomić wiele instrukcji DDL w ramach transakcji (w ramach SQL Server)?

  5. Jak utworzyć klucz złożony za pomocą programu SQL Server Management Studio?