Maison > base de données > tutoriel mysql > Comment faire pivoter les données dans SQL Server 2000 sans Dynamic SQL ?

Comment faire pivoter les données dans SQL Server 2000 sans Dynamic SQL ?

Patricia Arquette
Libérer: 2025-01-03 00:08:38
original
638 Les gens l'ont consulté

How to Pivot Data in SQL Server 2000 Without Dynamic SQL?

Comment faire pivoter les données dans SQL Server 2000

Relever le défi de transformer vos données dans un format plus structuré par pivot à l'aide de SQL Server 2000 ? Examinons une solution qui évite les pièges du SQL dynamique et des approches inefficaces, garantissant précision et efficacité dans vos manipulations de données.

Comprendre le problème

Imaginez que vous en ayez deux tableaux : produits contenant des informations sur le produit et métadonnées du produit fournissant des métadonnées supplémentaires pour chaque produit. Votre objectif est de créer un ensemble de résultats qui fait pivoter les données pour les présenter sous forme de tableau, affichant les noms de produits ainsi que les valeurs de métadonnées correspondantes.

La solution

Pour réaliser cette transformation, nous utiliserons l'expression CASE en conjonction avec des fonctions d'agrégation au sein d'un GROUP BY clause :

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

Explication

  • L'expression CASE évalue la colonne MetaKey dans la table Product Meta et renvoie la MetaValue correspondante si la clé correspond à la valeur spécifiée condition (A, B ou C).
  • La fonction d'agrégation MIN est appliquée à chaque expression CASE pour garantir que seule la plus petite valeur est récupérée pour chaque ID de produit.
  • La clause GROUP BY regroupe les résultats par colonnes ProductId et Name, garantissant que les valeurs agrégées sont associées aux bons produits.

En utilisant cette approche , vous pouvez faire pivoter efficacement vos données dans SQL Server 2000, en évitant les limitations du SQL dynamique et en produisant un jeu de résultats propre et utilisable qui répond à vos exigences de transformation.

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