Maison > base de données > tutoriel mysql > Comment transposer des lignes en colonnes dans DB2 à l'aide de PIVOT (implicite) ?

Comment transposer des lignes en colonnes dans DB2 à l'aide de PIVOT (implicite) ?

Mary-Kate Olsen
Libérer: 2024-12-30 13:27:16
original
621 Les gens l'ont consulté

How to Transpose Rows into Columns in DB2 Using PIVOT (Implicit)?

Transposition de la structure de données avec pivotement dans DB2

La tâche nécessite de transposer des lignes en colonnes dans une table DB2, en transformant les données de la structure suivante :

ItemID    Item    Value
---------------------
1     Meeting     Now
1     Advise      Yes
1     NoAdvise    No
2     Meeting     Never
2     Advise      No
2     NoAdvise    Null
2     Combine    Yes
Copier après la connexion

dans le souhaité structure :

ItemID    Meeting  Advise   NoAdvise 
---------------------------------------
1         Now      Yes       No
2         Never    No        Null
Copier après la connexion

Pour réaliser cette transformation, vous pouvez utiliser une requête SQL qui utilise l'opérateur PIVOT, qui permet la transposition de lignes en colonnes en fonction d'un champ de catégorisation spécifié. Voici un exemple de requête qui peut être utilisée dans DB2 LUW :

SELECT 
  A.ItemID,
  MAX(CASE WHEN A.Item = 'Meeting'  THEN Value END) AS Meeting,
  MAX(CASE WHEN A.Item = 'Advise'   THEN Value END) AS Advise,
  MAX(CASE WHEN A.Item = 'NoAdvise' THEN Value END) AS NoAdvise
FROM A
GROUP BY A.ItemID
Copier après la connexion

Dans cette requête, l'opérateur PIVOT n'est pas explicitement utilisé, mais il est obtenu implicitement grâce à l'utilisation de l'instruction CASE à l'intérieur du MAX () fonction d'agrégation. L'instruction CASE permet de catégoriser les lignes et de renvoyer la valeur maximale pour chaque catégorie. La fonction d'agrégation MAX() garantit ensuite que la valeur maximale est renvoyée pour chaque catégorie.

Notez que la colonne "Combiner" n'est pas incluse dans le résultat transposé conformément à l'exigence. Les données résultantes seront transposées en colonnes comme vous le souhaitez.

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