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

Comment puis-je faire pivoter des données T-SQL sans utiliser de fonctions d'agrégation ?

Patricia Arquette
Libérer: 2025-01-20 10:01:08
original
586 Les gens l'ont consulté

How Can I Pivot T-SQL Data Without Using Aggregation Functions?

Pivotement des données T-SQL : une approche sans agrégation

La transformation des données nécessite souvent un pivotement, généralement réalisé à l'aide de fonctions d'agrégation. Cependant, le pivotement sans agrégation est également possible.

Considérons un tableau où chaque ligne représente un client, y compris un CustomerID, un DBColumnName et les données correspondantes. L'objectif est de faire pivoter ces données, en organisant les données de chaque client dans des colonnes distinctes en fonction de leur DBColumnName.

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

Cette requête T-SQL utilise une logique conditionnelle (instructions CASE) pour sélectionner des données en fonction de DBColumnName. La fonction MIN() garantit qu'une seule valeur est sélectionnée pour la colonne de chaque client. Cela fait pivoter efficacement les données sans recourir à l'agrégation au sens traditionnel, en organisant les attributs de chaque client dans des colonnes distinctes. Cette méthode évite les problèmes potentiels associés à l'agrégation lorsqu'il s'agit de données non numériques.

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