Oracle
 sql >> база данни >  >> RDS >> Oracle

Разделяне на редове на колони в Oracle

Тук трябва да използвате обобщена заявка, за да получите желания резултат:

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

Можете също да опитате да използвате вградения PIVOT() на Oracle функция, ако използвате версия 11g или по-нова.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. скриптът за липсващи числа няма да работи?

  2. SYSTIMESTAMP Функция в Oracle

  3. Oracle SELECT - Двойни кавички или без двойни кавички?

  4. извличане от функция, връщаща референтен курсор за запис

  5. четене на множество стойности от поле на петно ​​PL/SQL