SQL Server Dynamic Perspective QueryCet article présente comment convertir l'ensemble de données du format vertical au format horizontal. Ceci est généralement implémenté à l'aide du symbole informatique pivot.
Le code SQL suivant initialise l'ensemble de données dans une table temporaire appelée
. Dynamic SQL est utilisé pour construire une requête de pivot. Les variablesrelient différentes catégories en chaînes où la virgule est séparée.
L'exécution de cette requête générera les résultats requis:temp
Les variables construisent une requête de pivot réelle, emballée à la date et voir selon la catégorie.@cols
@query
<code class="language-sql">DECLARE @cols AS NVARCHAR(MAX), @query AS NVARCHAR(MAX); SET @cols = STUFF((SELECT distinct ',' + QUOTENAME(c.category) FROM temp c FOR XML PATH(''), TYPE ).value('.', 'NVARCHAR(MAX)') ,1,1,'') set @query = 'SELECT date, ' + @cols + ' from ( select date , amount , category from temp ) x pivot ( max(amount) for category in (' + @cols + ') ) p '</code>Copier après la connexionCette méthode dynamique permet à la catégorie selon les besoins sans modifier la structure de requête. N'oubliez pas de supprimer la table temporaire après utilisation pour éviter les problèmes de performances.
<code>日期 ABC DEF GHI 2012-01-01 00:00:00.000 1000.00 NULL NULL 2012-02-01 00:00:00.000 NULL 500.00 800.00 2012-02-10 00:00:00.000 NULL 700.00 NULL 2012-03-01 00:00:00.000 1100.00 NULL NULL</code>Copier après la connexion
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!