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

Преобразувайте редове в колони Oracle

опитайте това, за да генерирате скрипт:

select 'select '||FILE_ID||' FILE_ID,'||
  ltrim(sys_connect_by_path('REC_FLD_'||FIELD_NUMBER||' "'||FIELD_NAME||'"',','),',')||
  ' from RESPONSE_DETAILS where FILE_ID=' ||FILE_ID||';'
  from (select t.*,count(*) over (partition by FILE_ID) cnt from RESPONSE_METADATA t)
 where cnt=FIELD_NUMBER start with FIELD_NUMBER=1 
connect by prior FILE_ID=FILE_ID and prior FIELD_NUMBER=FIELD_NUMBER-1

Добавени са двойни кавички, защото някои имена на колони са запазени "DESC" например




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Стартирайте exe от DBMS_SCHEDULER

  2. Защо заявката SELECT не стартира транзакцията? [Оракул]

  3. Как да конфигурирате подчертаване на синтаксиса в SQLcl

  4. Използване на DISTINCT за конкретни колони

  5. Нарушен - родителският ключ не е намерен 02291. 00000 - ограничение за интегритет