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
Explication
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!