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

Zapytanie Oracle do konwersji wielu kolumn w jedną kolumnę

Możesz użyć UNPIVOT dla jednego wiersza w ten sposób, aby uzyskać tylko kolumnę z wartościami

SELECT colvalue 
  FROM
(
  SELECT * 
    FROM Table1
  UNPIVOT INCLUDE NULLS
  (
    colvalue FOR cols IN (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, ... col50)
  )
);

Przykładowe wyjście:

| COLVALUE |
------------
|        1 |
|        2 |
|   (null) |
|..........|

Jeśli potrzebujesz kolumny z nazwami kolumn z tabeli przestawnej, po prostu porzuć zewnętrzny wybór

SELECT * 
  FROM Table1
UNPIVOT INCLUDE NULLS
(
  colvalue FOR cols IN (col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, ... col50)
);

Przykładowe wyjście:

|  COLS | COLVALUE |
--------------------
|  COL1 |        1 |
|  COL2 |        2 |
|  COL3 |   (null) |
| ..... |......... |

Oto SQLFiddle demo



  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 uniknąć wartości 0 przy użyciu funkcji MIN i MAX w SQL?

  2. Zmień nazwę tabeli lub widoku Oracle

  3. Zainstaluj klienta Oracle Instant w kontenerze Docker dla Pythona cx_Oracle

  4. Python Oracle, wstawianie Brak błędu

  5. Wymuś użycie indeksu w Oracle