sql >> Databasteknik >  >> RDS >> Oracle

Dela upp rader till kolumner i oracle

Du måste använda en pivotfråga här för att få den utdata du vill ha:

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

Du kan också prova att använda Oracles inbyggda PIVOT() funktion om du kör version 11g eller senare.



  1. PostgreSQL ändrar ordning på returnerade rader

  2. Kopiera raden och alla dess "barn"

  3. MySql:Tinyint (2) vs tinyint(1) - vad är skillnaden?

  4. PHP säkerhetsfråga?