Maison > base de données > tutoriel mysql > Comment faire pivoter une table T-SQL sans utiliser de fonctions d'agrégation ?

Comment faire pivoter une table T-SQL sans utiliser de fonctions d'agrégation ?

Susan Sarandon
Libérer: 2025-01-20 09:57:09
original
803 Les gens l'ont consulté

How to Pivot a T-SQL Table Without Using Aggregate Functions?

Pivot T-SQL : aucune fonction d'agrégation nécessaire

Dans certains cas, vous devrez peut-être convertir les données d'un tableau au format pivot sans utiliser de fonctions d'agrégation telles que SUM ou COUNT. Cet exemple montre une manière unique d'utiliser l'opérateur PIVOT lorsque les fonctions d'agrégation ne sont pas requises.

Supposons qu'il existe une table source contenant des informations sur le client :

CustomerID DBColumnName Data
1 FirstName Joe
1 MiddleName S
1 LastName Smith
1 Date 12/12/2009
2 FirstName Sam
2 MiddleName S
2 LastName Freddrick
2 Date 1/12/2009
3 FirstName Jaime
3 MiddleName S
3 LastName Carol
3 Date 12/1/2009

Le résultat cible est un tableau croisé dynamique affichant les informations client dans des colonnes séparées :

CustomerID FirstName MiddleName LastName Date
1 Joe S Smith 12/12/2009
2 Sam S Freddrick 1/12/2009
3 Jaime S Carol 12/1/2009

Pour y parvenir sans utiliser de fonctions d'agrégation, vous pouvez utiliser la requête T-SQL suivante :

<code class="language-sql">SELECT CustomerID,
       MIN(CASE DBColumnName WHEN 'FirstName' THEN Data END) AS FirstName,
       MIN(CASE DBColumnName WHEN 'MiddleName' THEN Data END) AS MiddleName,
       MIN(CASE DBColumnName WHEN 'LastName' THEN Data END) AS LastName,
       MIN(CASE DBColumnName WHEN 'Date' THEN Data END) AS Date
  FROM table
 GROUP BY CustomerId;</code>
Copier après la connexion

Cette requête utilise la fonction MIN dans une instruction CASE pour sélectionner la valeur minimale pour chaque colonne en fonction de DBColumnName. La clause "GROUP BY" permet de regrouper les résultats par CustomerID.

Bien que cette approche puisse paraître lourde et inefficace par rapport à l'utilisation de fonctions d'agrégation, elle peut offrir une plus grande flexibilité dans certaines situations où les fonctions d'agrégation ne sont pas appropriées (par exemple lorsqu'il s'agit de valeurs uniques ou distinctes). Assurez-vous d'évaluer les besoins spécifiques de votre requête et de choisir l'approche la plus appropriée pour la situation donnée.

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