sql - SQL根据列选择多行中的数据
问题描述
我想编写一个 Oracle sql 查询,它将按以下顺序获取数据:
NAME Phone1 Phone2
JOHN 1123 321
RIK 11 Null
KATE Null 21
输出:
NAME PHONE
JOHN 1123
JOHN 321
RIK 11
KATE 21
解决方案
您可以尝试使用 UNION ALL
select name, phone1 as phone from tablenmae
union all
select name, phone2 from tablenmae
或者您可以尝试使用 UNPVOT
select *
from tablenmae
unpivot
(
phone
for val in (phone1, phone2)
)
推荐阅读
- c# - C# Winform - 当我将面板背景颜色放在其他人的右下角时,我的面板背景颜色一直消失
- android - 如何清理 AOSP 中的模块?
- .net - Dapper 和 SQL 注入
- java - Java 优先级 - 强制转换和位运算符
- excel - IF else 语句在 vba 代码中无法正常工作
- c# - ASPXRichedit 无法将 byte[] 隐式转换为 System.IO.Stream
- mysql - 如何在windows中使用cmd启动和停止mysql服务器
- xcode - Xcode 9:无法使用钛中的新(默认)构建系统构建应用程序
- operating-system - “计算机系统”的定义?
- javascript - div内的单选按钮