Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Oracle 11 SQL:Tách 1 hàng thành x hàng và chèn một cột mới

Bạn có thể sử dụng mệnh đề bỏ chia. Tôi nghĩ mã này sẽ giúp bạn:

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') 
);

Sau khi cập nhật câu hỏi. Câu trả lời được thay đổi thành sau:

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. Oracle:BẬT SERVEROUTPUT bằng Toad

  2. Xóa các số 0 ở đầu khỏi nhà phát triển varchar sql

  3. Tại sao bạn không thể sử dụng HOẶC hoặc VÀO với thao tác THAM GIA NGOÀI TRỜI?

  4. Cách bật trình giả lập Genymotion để sử dụng Internet WIFI mà máy chủ đang sử dụng

  5. Tối ưu hóa mã trong PL / SQL. Làm cho nó phù hợp. Mã đang chạy nhưng không đúng