Maison > base de données > tutoriel mysql > Comment faire pivoter plusieurs colonnes (ventes, stock, cible) simultanément dans SQL Server ?

Comment faire pivoter plusieurs colonnes (ventes, stock, cible) simultanément dans SQL Server ?

Susan Sarandon
Libérer: 2025-01-02 13:40:38
original
181 Les gens l'ont consulté

How to Pivot Multiple Columns (Sales, Stock, Target) Simultaneously in SQL Server?

Comment faire pivoter plusieurs colonnes dans SQL Server

Problème :

Supposons que vous ayez un tableau avec des colonnes représentant les catégories d'articles (par exemple, Panel, AC, Ref) et des données telles que les ventes, le stock et l'objectif. Vous souhaitez transformer ces données dans un format croisé où les catégories deviennent des lignes et les colonnes contiennent les données respectives pour chaque catégorie (ventes, stock, cible).

Solution :

Pour y parvenir, vous pouvez utiliser plusieurs instructions pivot dans SQL Serveur :

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
Copier après la connexion

Explication :

  1. SELECT interne : Récupérez les données nécessaires de la table d'origine, y compris le nom de la branche et les noms de catégories non désinfectés.
  2. Renommer la colonne : Renommer la catégorie colonnes avec suffixes ('1' et '2') pour faciliter le pivotement ultérieur.
  3. Premier pivot (pv1) : Pivot pour la colonne des ventes, regroupant les données par catégorie.
  4. Deuxième pivot (pv2) : Pivot pour la colonne de stock en utilisant les colonnes de catégorie nouvellement renommées (par exemple, Panel1).
  5. Troisième pivot (pv3) : Pivotez pour la colonne cible en utilisant les colonnes de catégorie nouvellement renommées (par exemple, Panel2).

Une fois le pivotement terminé, vous pouvez agréger les résultats ou effectuer d'autres manipulations de données si nécessaire.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal