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

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

Susan Sarandon
Libérer: 2024-12-31 15:54:21
original
628 Les gens l'ont consulté

How to Transform Rows into Columns in Oracle Using DECODE and PIVOT?

Comment convertir des lignes en colonnes dans Oracle

Dans Oracle, vous pouvez faire face à des scénarios dans lesquels les données sont disposées en lignes mais elles doivent l'être affiché sous forme de colonnes. Cet article examine les méthodes de conversion de lignes en colonnes à l'aide de la fonction DECODE ou de la clause PIVOT.

Considérez le tableau suivant contenant les détails du prêt :

LOAN NUMBER   DOCUMENT_TYPE                DOCUMENT_ID
992452533663  Voters ID                    XPD0355636
992452533663  Pan card                     CHXPS5522D
992452533663  Drivers license              DL-0420110141769
Copier après la connexion

Pour faire pivoter les lignes en colonnes, vous pouvez utiliser la fonction 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 license', document_id)) AS drivers_licence
  FROM
    doc_tab
GROUP BY loan_number
ORDER BY loan_number;
Copier après la connexion

Cette requête produira ce qui suit sortie :

LOAN_NUMBER   VOTERS_ID            PAN_CARD             DRIVERS_LICENCE    
------------- -------------------- -------------------- --------------------
992452533663  XPD0355636           CHXPS5522D           DL-0420110141769     
Copier après la connexion

Dans les versions Oracle 11g et supérieures, la clause PIVOT fournit un moyen plus simple d'obtenir le même résultat :

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

Les deux méthodes peuvent efficacement faire pivoter les lignes en colonnes, permettant vous de manipuler et d'afficher vos données dans le format préféré.

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!

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