Maison > base de données > tutoriel mysql > Comment faire pivoter plusieurs colonnes dans T-SQL pour transformer les données de ratios financiers ?

Comment faire pivoter plusieurs colonnes dans T-SQL pour transformer les données de ratios financiers ?

Mary-Kate Olsen
Libérer: 2025-01-05 01:54:47
original
253 Les gens l'ont consulté

How to Pivot Multiple Columns in T-SQL to Transform Financial Ratio Data?

Pivoter plusieurs colonnes dans TSQL

Lorsque vous travaillez avec une base de données relationnelle, il est souvent nécessaire de transformer les données pour faciliter leur analyse ou rapport sur. Une façon d'y parvenir consiste à faire pivoter les données, ce qui implique de faire pivoter les lignes en colonnes et vice versa.

Considérez le tableau suivant qui contient les ratios financiers, les résultats, les scores et les notes :

RATIO RESULT SCORE GRADE
Current Ratio 1.294 60 Good
Gearing Ratio 0.3384 70 Good
Performance Ratio 0.0427 50 Satisfactory
TOTAL NULL 180 Good

Pour faire pivoter ces données et conserver toutes les étiquettes, nous devons annuler le pivotement des colonnes de résultat, de score et de note afin que chaque ligne ait une valeur dans chaque colonne. Ceci peut être réalisé en utilisant la fonction UNPIVOT ou CROSS APPLY, selon la version de SQL Server que vous utilisez.

Une fois les données non pivotées, nous pouvons appliquer la fonction PIVOT pour faire pivoter les lignes en colonnes. La syntaxe sera similaire à la suivante :

SELECT ratio = col,
[current ratio], [gearing ratio], [performance ratio], total
FROM
(
  SELECT ratio, col, value
  FROM GRAND_TOTALS
  CROSS APPLY
  (
    SELECT 'result', CAST(result AS VARCHAR(10)) UNION ALL
    SELECT 'score', CAST(score AS VARCHAR(10)) UNION ALL
    SELECT 'grade', grade
  ) c(col, value)
) d
PIVOT
(
  MAX(value)
  FOR ratio IN ([current ratio], [gearing ratio], [performance ratio], total)
) piv;
Copier après la connexion

Le résultat résultant sera un tableau avec une ligne pour chaque ratio et des colonnes pour le ratio actuel, le ratio d'endettement, le ratio de performance, le total, le score et note :

RATIO CURRENT RATIO GEARING RATIO PERFORMANCE RATIO TOTAL SCORE GRADE
grade Good Good Satisfactory Good NULL NULL
result 1.29400 0.33840 0.04270 NULL NULL NULL
score 60.00000 70.00000 50.00000 180.00000 NULL NULL

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