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

Oracle 11 SQL:Podziel 1 wiersz na x wierszy i wstaw nową kolumnę

Możesz użyć klauzuli unpivot. Myślę, że ten kod ci pomoże:

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

Po aktualizacji pytania. Odpowiedź jest zmieniona na:

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. Jak przechwycić wynik procedury składowanej za pomocą skryptu powłoki?

  2. Oracle, w moim pliku eksportu brakuje danych Blob

  3. Zwróć wszystkich Użytkowników, nawet tych, którzy nie spełniają moich kryteriów

  4. Oracle:jak pogrupować według zakresu?

  5. JDBC PreparedStatement i parametry (?) w wybranym zapytaniu