Oracle FETCH FIRST 1 ROW with UNION ALL 语句
我正在尝试使用 FETCH FIRST 1 ROW 在 SQL 中创建一个 UNION ALL 语句,但是当我这样做时,它给了我一个错误 MISSING KEYWORD
I'm trying to create a UNION ALL statement in SQL using the FETCH FIRST 1 ROW however when I do that it gives me an error MISSING KEYWORD
这是我的 SQL 的样子:
Here's what my SQL looks like:
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
是这样可行的.我希望将其保留为单个语句,而不是添加 SUBQUERY 或任何此类性质的内容.
is something like this doable. I would like to keep this as a single statement rather than adding a SUBQUERY or anything of that nature.
推荐答案
只需将每个部分放在括号中即可.无论如何都可以在 12.2 中使用:
Just put the each part in parentheses. Works in 12.2, anyway:
( 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 )
我的实际测试查询,对于任何感兴趣的人是这样的:
My actual test query, for anyone interested was this:
(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);
相关文章