显示表格行中的替代列
Posted
技术标签:
【中文标题】显示表格行中的替代列【英文标题】:Display the Alternative columns from table row 【发布时间】:2019-10-07 11:02:35 【问题描述】:enter image description here
【问题讨论】:
样本数据最好显示为formatted text。请参阅here,了解有关如何创建漂亮表格的一些提示。 【参考方案1】:将salary
列转换为字符串数据类型(使salary
和name
具有相同的数据类型)然后UNPIVOT
:
Oracle 设置:
CREATE TABLE test_data ( id, name, salary ) AS
SELECT 100, 'A', 1000 FROM DUAL UNION ALL
SELECT 101, 'B', 2000 FROM DUAL UNION ALL
SELECT 102, 'C', 3000 FROM DUAL
查询:
SELECT id, value
FROM (
SELECT id, name, TO_CHAR( salary ) AS salary
FROM test_data
)
UNPIVOT ( value FOR key IN ( name, salary ) )
输出:
身份证 |价值 --: | :---- 100 |一种 100 | 1000 101 |乙 101 | 2000 102 | C 102 | 3000
db小提琴here
【讨论】:
【参考方案2】:或者,UNION ALL 也可以为您工作,如果您同意更改 Salary 列的数据类型 -
SELECT ID, Name "Name & Salary"
FROM TABLE1
UNION ALL
SELECT ID, Salary
FROM TABLE1
ORDER BY ID, Name
【讨论】:
以上是关于显示表格行中的替代列的主要内容,如果未能解决你的问题,请参考以下文章