Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle 11 SQL :Pisahkan 1 baris menjadi x baris dan masukkan kolom baru

Anda dapat menggunakan klausa unpivot. Saya pikir kode ini akan membantu Anda:

select a,b,c,'Name for ' || name_code || ' : '|| name_code as value  from 
(select 'A' a ,'B' b ,'C' c ,'D' d,'E' e,'F' f,'G' g,'H' h,'I' i from dual) 
unpivot include nulls 
(
name_for for name_code in (d as 'D', e as 'E' ,f as 'F',g as 'G',h  as 'H',i as 'I') 
);

Setelah pembaruan pertanyaan. Jawabannya diubah menjadi ini:

select A,B,C,'Name for ' || name_for  as value, name_code  from 
(select 1 A,2 B,3 C,'Lennon' D,'Paul McCartney' E, 'Ringo Starr' F, 
              null G, 'Pete Best'H, 'Tommy Moore'  I from dual )
unpivot include nulls 
(
name_for for name_code in (d,e,f,g,h,i) 
)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Penulisan Ulang URL Weblogic 11g

  2. Bagaimana saya bisa menambahkan nol di depan ke tanggal di Oracle?

  3. Mencoba memfaktorkan ulang kueri rekursif di Oracle CTE?

  4. Gabungkan kondisi pada beberapa kolom versus gabung tunggal pada kolom gabungan?

  5. kumpulan catatan ke sys_refcursor