sql - Oracle FETCH FIRST 1 ROW with UNION ALL 语句

标签 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

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

最佳答案

只需将每个部分放在括号中即可。无论如何,在 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 )

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

(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);

关于sql - Oracle FETCH FIRST 1 ROW with UNION ALL 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61106222/

相关文章:

mysql - 优化每个客户从销售表中购买的精选产品详细信息

mysql - SQL Select 包括数据类型和数据值

c# - 使用 Oracle.DataAccess.Client;下载并安装 OPD.NET 后未找到

php - SQL 查询 : Reference Another Table data for two variables in the same query

mysql - mysql中如何用join代替union

mysql - 提供额外的 bool 类型返回列,用于评估另一个查询

sql - 在 Postgresql 中合并 2 条记录(变量)以返回它们

sql - 插入与插入

sql - Oracle 插入中缺少逗号

sql - SQL 中的时间间隔