【发布时间】:2022-01-06 02:11:24
【问题描述】:
我有一个这样的查询:
select * from my_table;
结果如下:
name x1 x2 x3
---- ---- --- ---
data -2 3 -1
我想更改查询以将正负输出分成单独的行,结果更改为:
name x1 x2 x3
---- ---- --- ---
data -2 3 -1
data -2 null -1
data null 3 null
【问题讨论】:
-
对每个单独的列使用 CASE,对 2 个查询使用 UNION ALL - 一个只选择负值,另一个只选择非负(正或零)值。
-
谢谢,但我的真实查询太长,我不想使用联合。 @Akina
-
但我的真实查询太长,我不想使用联合将您的查询放到 CTE 中,然后在 UNION ALL 中重用它。
-
MySQL和Oracle是两个独立的RDBMS;你用的是哪个?
-
我使用Oracle数据库