Maison >base de données >tutoriel mysql >Comment faire pivoter plusieurs colonnes dans SQL Server à l'aide de plusieurs instructions PIVOT ?
Dans une table de base de données où les données sont organisées en lignes et en colonnes, il devient parfois nécessaire de transformer la structure de la table en changeant de ligne avec colonnes. Cette technique est connue sous le nom de pivotement.
Scénario :
Vous disposez d'un exemple de tableau avec des colonnes telles que Branche, Catégorie, Ventes, Stock et Cible. Vous souhaitez faire pivoter le tableau à l'aide de la colonne Catégorie et organiser les colonnes restantes (Ventes, Stock, Cible) sous forme de lignes. La sortie souhaitée doit avoir des catégories sous forme de colonnes et des valeurs sous forme de lignes.
Solution :
Pour faire pivoter le tableau, vous pouvez utiliser plusieurs instructions PIVOT avec des modifications de nom de colonne appropriées :
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
En modifiant les noms des colonnes (par exemple, Catégorie « 1 » et Catégorie « 2 »), vous pouvez vous assurer que le Les instructions PIVOT fonctionnent correctement.
Les tableaux intermédiaires (pv1, pv2, pv3) fourniront respectivement les données pivotées pour les ventes, le stock et la cible. Vous pouvez ensuite agréger les résultats de pv3 pour regrouper et additionner les valeurs selon vos besoins.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!