Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Konwertuj wiersze na kolumny Oracle

spróbuj tego, aby wygenerować skrypt:

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

Dodano podwójne cudzysłowy, ponieważ niektóre nazwy kolumn są zarezerwowane jako „DESC”, na przykład




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zwiększyć wydajność zbiorczych operacji WSTAWIANIA do tabel połączonych ODBC w programie Access?

  2. Jak wybrać pierwszą ciągłą grupę wierszy za pomocą Oracle SQL

  3. jak zapytać tabelę sprzężenia za pomocą hibernacji?

  4. Jak wywołać funkcję Oracle, która ma SYS_REFCURSOR jako parametr OUT?

  5. Uporządkuj wiersze przy użyciu kolumn od mniejszej liczby wartości null do braku wartości null