【发布时间】:2016-12-03 17:14:18
【问题描述】:
我需要将下面的列转换为行
select column_name from all_tab_cols where table_name='TABLE_NAME' ;
COLUMN_1
COLUMN_2
COLUMN_3
COLUMN_4
COLUMN_5
COLUMN_6
COLUMN_7
尝试使用枢轴运算符/子句,
如果表格包含更多列数,则我需要提及表格的所有列名,在 in 子句的数据透视函数中无法提及,
select * from
(
select column_name
from all_tab_cols
where table_name = 'TABLE_NAME'
)
pivot ( min(column_name) for column_name in
(
'COLUMN_1', 'COLUMN_2', 'COLUMN_3', 'COLUMN_4', 'COLUMN_5', 'COLUMN_6', 'COLUMN_7'
));
预期输出:
COLUMN_1 COLUMN_2 COLUMN_3 COLUMN_4 COLUMN_5 COLUMN_6 COLUMN_7
谁能告诉我如何将列转换为行
【问题讨论】:
-
您要动态创建数据透视列吗?
标签: oracle11g oracle-sqldeveloper