Maison > base de données > tutoriel mysql > Comment faire pivoter les données dans SQL Server 2000 à l'aide de l'agrégation conditionnelle ?

Comment faire pivoter les données dans SQL Server 2000 à l'aide de l'agrégation conditionnelle ?

DDD
Libérer: 2025-01-01 12:35:12
original
177 Les gens l'ont consulté

How to Pivot Data in SQL Server 2000 Using Conditional Aggregation?

Pivotement des données dans SQL Server 2000

Le pivotement des données fait référence au processus de transformation d'un ensemble de données d'un format vertical orienté colonnes vers un format format horizontal orienté lignes. En d'autres termes, cela vous permet de faire pivoter les données dans un tableau afin que les colonnes deviennent des lignes et vice versa.

Considérez les deux tableaux suivants :

  • Produits

    ProductId Name
    1 Product A
    2 Product B
  • Produit Meta

    ProductId MetaKey MetaValue
    1 A Value A for Product A
    1 B Value B for Product A
    1 C Value C for Product A
    2 A Value A for Product B
    2 B Value B for Product B
    2 C Value C for Product B

Vous souhaitez obtenir un ensemble de résultats qui affiche les noms de produits sous forme de lignes et les clés méta sous forme de colonnes, avec les méta-valeurs correspondantes dans chaque cellule :

ProductName Meta A Meta B Meta C
Product A Value A for Product A Value B for Product A Value C for Product A
Product B Value A for Product B Value B for Product B Value C for Product B

Pour réaliser ce pivot, vous pouvez utiliser une combinaison d'agrégation conditionnelle et de l'instruction CASE dans un SELECT déclaration :

SELECT
    P.ProductId,
    P.Name,
    MIN(CASE WHEN PM.MetaKey = 'A' THEN PM.MetaValue END) AS MetaA,
    MIN(CASE WHEN PM.MetaKey = 'B' THEN PM.MetaValue END) AS MetaB,
    MIN(CASE WHEN PM.MetaKey = 'C' THEN PM.MetaValue END) AS MetaC
FROM
    Products AS P
INNER JOIN
    ProductMeta AS PM
    ON PM.ProductId = P.ProductId
GROUP BY
    P.ProductId,
    P.Name;
Copier après la connexion

Cette requête regroupera correctement les lignes par ID et nom de produit et récupérera les méta-valeurs souhaitées pour chaque clé.

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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal