相关疑难解决方法(0)

Oracle UNION和ORDER BY的奇怪问题

以下查询在几乎每个数据库(提供或获取虚拟表)中都非常有效dual,包括Oracle:

select 'A' as x from dual union all
select 'B'      from dual
order by x asc
Run Code Online (Sandbox Code Playgroud)

返回:

| X |
|---|
| A |
| B |
Run Code Online (Sandbox Code Playgroud)

现在这个查询仍然是非常标准的SQL,但不适用于Oracle

select 'A' as x from dual union all
select 'B'      from dual union all
select 'C'      from dual
order by x asc
Run Code Online (Sandbox Code Playgroud)

我越来越

ORA-00904: "X": invalid identifier
Run Code Online (Sandbox Code Playgroud)

但是,这有效:

select 'A' as x from dual union all
select 'B' as x from dual union all …
Run Code Online (Sandbox Code Playgroud)

sql oracle sql-order-by oracle11g union-all

19
推荐指数
2
解决办法
5018
查看次数

标签 统计

oracle ×1

oracle11g ×1

sql ×1

sql-order-by ×1

union-all ×1