Oracle
 sql >> Base de données >  >> RDS >> Oracle

Fractionner des lignes en colonnes dans Oracle

Vous devez utiliser une requête pivot ici pour obtenir le résultat souhaité :

SELECT Name,
       MIN(CASE WHEN ID_Type = 'PAN'      THEN ID_No ELSE NULL END) AS PAN,
       MIN(CASE WHEN ID_Type = 'DL'       THEN ID_No ELSE NULL END) AS DL,
       MIN(CASE WHEN ID_Type = 'Passport' THEN ID_No ELSE NULL END) AS Passport
FROM yourTable
GROUP BY Name

Vous pouvez également essayer d'utiliser le PIVOT() intégré d'Oracle fonction si vous utilisez la version 11g ou ultérieure.