sql >> Databasteknik >  >> RDS >> Sqlserver

I SQL Server hur man pivoterar för flera kolumner

Du måste ändra namnet på kolumner för nästa pivotsats.

Gilla

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

Du är redo att gå nu...

Du kan använda aggregat av pv3 för att summera och gruppera efter den kolumn du behöver.



  1. hur man konfigurerar hibernate-konfigurationsfilen för sql-servern

  2. Funktionsbaserade index i SQL Server

  3. Hur kan jag logga och hitta de dyraste frågorna?

  4. Ruby 'pg' pärla som länkar till fel kopia av libpq.5.dylib (på OSX)