sql >> Base de Datos >  >> RDS >> Oracle

Dividir filas en columnas en Oracle

Debe usar una consulta dinámica aquí para obtener el resultado que desea:

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

También puede intentar usar el PIVOT() incorporado de Oracle funciona si está ejecutando la versión 11g o posterior.