Maison > base de données > tutoriel mysql > Comment effectuer une opération PIVOT T-SQL sans fonctions d'agrégation ?

Comment effectuer une opération PIVOT T-SQL sans fonctions d'agrégation ?

Mary-Kate Olsen
Libérer: 2025-01-20 09:51:09
original
961 Les gens l'ont consulté

How to Perform a T-SQL PIVOT Operation Without Aggregate Functions?

Opération T-SQL PIVOT sans fonctions d'agrégation

Contrairement aux opérations PIVOT, qui nécessitent généralement des fonctions d'agrégation, les transformations PIVOT peuvent également être effectuées sans fonctions d'agrégation. Cela peut survenir dans des scénarios spécifiques où la reconstruction des données est requise sans agrégation.

Considérez la forme suivante :

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

L'objectif est de faire pivoter ces données vers les résultats suivants :

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 en utilisant PIVOT sans fonction d'agrégation, vous pouvez utiliser la requête 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 exécute une instruction case dans une opération PIVOT pour sélectionner la valeur minimale de chaque DBColumnName pour un CustomerID donné. Puisqu’il n’existe qu’une seule ligne de données pour chaque combinaison CustomerID et DBColumnName, la fonction MIN renvoie la valeur requise.

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