sql - SQL解析ORACLE 将行转换为列
问题描述
我有一个表结构,它有 2 列,如下所述
Column_name old Value New_Value
:--------- :------- :---------
Name NULL John
Age NULL 45
Status Active Inactive
我需要像这样的输出
John Name
45 Age
Inactive Status
你能帮我吗?
解决方案
对我来说看起来像NVL
...第 1 - 5 行中的示例数据;执行它的查询从第 6 行开始。
SQL> with test (column_name, old_value, new_value) as
2 (select 'Name' , null , 'John' from dual union all
3 select 'Age' , null , '45' from dual union all
4 select 'Status', 'Active', 'Inactive' from dual
5 )
6 select nvl(new_value, old_value) value,
7 column_name
8 from test;
VALUE COLUMN
-------- ------
John Name
45 Age
Inactive Status
SQL>
推荐阅读
- android - 文本字段更改的变量值未在平面按钮中更新
- c# - 当 AllowUserToAddRows 为真时 DataGridView 生成错误
- google-app-engine - 为 GCP App Engine 服务添加标签
- django - 如何在 a-Tag Django 中编写 url
- c# - 多个小图像拼接(正射镶嵌,map2d)
- python - 如何从 Django 中的先前视图(CBV)中获取对象?
- c - 使用 malloc 分配内存
- reactjs - 如何在 React js 中获取 Firebase 时间戳中的日期和时间
- rest - 如何使用 Vue 和 Java EE 在我的 Web 应用程序中实现聊天系统?
- apache-kafka - 连接器在 KSQLDB 和 Kafka 中如何工作?