Oracle 使用 UNION ALL 语句 FETCH FIRST 1 ROW

Koo*_*osh 3 sql oracle union

我正在尝试使用 FETCH FIRST 1 ROW 在 SQL 中创建 UNION ALL 语句,但是当我这样做时,它给了我一个错误MISSING KEYWORD

我的 SQL 如下所示:

Select * From tabl1 where Date = '04-MAR-2020' FETCH FIRST 1 ROW

UNION ALL

Select * From tabl1 where Date = '05-MAR-2020' FETCH FIRST 1 ROW
Run Code Online (Sandbox Code Playgroud)

这样的事情是可行的。我想将其保留为单个语句,而不是添加子查询或任何类似性质的内容。

Mat*_*eak 8

只需将每个部分放在括号中即可。无论如何,在 12.2 中工作:

( Select * From tabl1 where Date = '04-MAR-2020' FETCH FIRST 1 ROW )
UNION ALL
( Select * From tabl1 where Date = '05-MAR-2020' FETCH FIRST 1 ROW )
Run Code Online (Sandbox Code Playgroud)

对于任何感兴趣的人,我的实际测试查询是这样的:

(select   object_name 
 from     user_objects 
 where    object_type = 'TABLE' 
 order by object_name 
 fetch first 1 row only)
UNION ALL
(select   object_name 
 from     user_objects 
 where    object_type = 'VIEW' 
 order by object_name 
 fetch first 1 row only);
Run Code Online (Sandbox Code Playgroud)