【问题标题】:Display the Alternative columns from table row显示表格行中的替代列
【发布时间】:2019-10-07 11:02:35
【问题描述】:

enter image description here

显示表格行中的替代列

【问题讨论】:

  • 样本数据最好显示为formatted text。请参阅here,了解有关如何创建漂亮表格的一些提示。

标签: oracle unpivot


【解决方案1】:

salary列转换为字符串数据类型(使salaryname具有相同的数据类型)然后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
    

    【讨论】:

      猜你喜欢
      • 2012-01-26
      • 2011-12-19
      • 1970-01-01
      • 2014-07-24
      • 1970-01-01
      • 2019-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多