sql >> Database teknologi >  >> RDS >> Oracle

Konverter rækker til kolonner Oracle

prøv dette for at generere et script:

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

Tilføjet dobbelte anførselstegn, fordi nogle kolonnenavne er reserveret "DESC" for eksempel




  1. Kan en låst række [i Postgres] stadig læses fra?

  2. UNION efter ORDER BY og LIMIT

  3. CHR() Funktion i Oracle

  4. DateTime::CreateFromFormat til PHP 5.2.14