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

Oracle — podziel pojedynczy wiersz na wiele wierszy

Najprostszym sposobem jest użycie union all :

select object_tested, test_date, test_a as test, test_a_result as test_result
from table t
union all
select object_tested, test_date, test_b as test, test_b_result as test_result
from table t;

Jeśli chcesz, aby w wyniku pojawił się typ testu:

select object_tested, test_date, 'a' as test_type, test_a as test, test_a_result as test_result
from table t
union all
select object_tested, test_date, 'b' as test_type, test_b as test, test_b_result as test_result
from table t;

Oracle 11 obsługuje również unpivot operator, który robi coś podobnego. Jeśli masz naprawdę duży stół i zależy Ci na wydajności, unpivot lub metoda wykorzystująca join może pracować.



  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:Połącz dwie tabele z różnymi kolumnami

  2. Jak używać bieżącej daty w zapytaniu HQL z bazą danych Oracle?

  3. BŁĄD w wierszu 191:ORA-01489:wynik konkatenacji ciągów jest za długi

  4. Obraz w formacie daty Oracle kończy się przed konwersją całego ciągu wejściowego

  5. Definiowanie źródła danych jta poza kontenerem