Maison > base de données > tutoriel mysql > Comment convertir des lignes en colonnes dans Oracle à l'aide de DECODE et PIVOT ?

Comment convertir des lignes en colonnes dans Oracle à l'aide de DECODE et PIVOT ?

Susan Sarandon
Libérer: 2025-01-04 04:40:43
original
225 Les gens l'ont consulté

How to Convert Rows to Columns in Oracle Using DECODE and PIVOT?

Convertir des lignes en colonnes dans Oracle : tirer parti de DECODE et PIVOT

Problème :

Transformer un tableau avec des lignes représentant plusieurs types de documents et identifiants associés à un numéro de prêt dans un format en colonnes. Le tableau résultant doit avoir une seule ligne pour chaque numéro de prêt, avec des colonnes pour chaque type de document et l'ID correspondant.

Exemple :

Tableau d'entrée :

LOAN NUMBER DOCUMENT_TYPE DOCUMENT_ID
992452533663 Voters ID XPD0355636
992452533663 Pan card CHXPS5522D
992452533663 Drivers licence DL-0420110141769

Sortie souhaitée :

LOAN NUMBER VOTERS_ID PAN_CARD DRIVERS LICENCE
992452533663 XPD0355636 CHXPS5522D DL-0420110141769

Oracle Solutions :

Méthode DECODE :

SELECT
    loan_number,
    MAX(DECODE(document_type, 'Voters ID', document_id)) AS voters_id,
    MAX(DECODE(document_type, 'Pan card', document_id)) AS pan_card,
    MAX(DECODE(document_type, 'Drivers licence', document_id)) AS drivers_licence
FROM
    input_table
GROUP BY loan_number
ORDER BY loan_number;
Copier après la connexion

Clause PIVOT (Oracle 11g) :

SELECT *
FROM input_table
PIVOT (
  MAX(document_id) FOR document_type IN ('Voters ID','Pan card','Drivers licence')
);
Copier après la connexion

Les deux méthodes transposent efficacement les lignes en colonnes, obtenant ainsi le résultat souhaité. Explorez les liens référencés pour plus de détails sur Oracle DECODE et PIVOT.

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