Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle заявка за преобразуване на множество колони в една колона

Можете да използвате UNPIVOT за един ред като този, за да получите само колона със стойности

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

Примерен резултат:

<преди>| COLVALUE |------------| 1 || 2 || (нулево) ||..........|

Ако имате нужда от колона с имена на колони от вашата обобщена таблица, просто изхвърлете външния избор

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

Примерен резултат:

<преди>| COLS | COLVALUE |--------------------| COL1 | 1 || COL2 | 2 || COL3 | (нула) || ..... |......... |

Ето го SQLFiddle демонстрация



  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, как да променя сесията си да показва UTF8?

  2. Как да използвате функцията Oracle LISTAGG

  3. Страхотни 24 въпроса за интервю за едновременен мениджър

  4. Oracle SQL заявка за групиране на последователни записи

  5. Прилагане на филтър в Oracle View