gpt4 book ai didi

java - Oracle 子查询不返回任何记录

转载 作者:行者123 更新时间:2023-12-01 09:28:51 26 4
gpt4 key购买 nike

我们主要使用 SQL Server 进行查询,但当我们使用 Java 时,它似乎在 Oracle 引擎中运行。在 this question我要求使用 SQL Server 方法对多个表中的记录进行计数,因为大多数时候 SQL Server 的运行方式与 Oracle 相同。我能够获取从此查询返回的数据:

declare @count table (count1 int, count2 int, count3 int)
INSERT INTO @count
select (SELECT COUNT(*) FROM Bike),
(SELECT COUNT(*) FROM Car),
(SELECT COUNT(*) FROM Truck)
select * from @count;

但是,当将其放入 Java 中时,我收到一条错误,表示没有返回任何记录。知道我可以在这里做什么来解决这个问题吗?

最佳答案

在Oracle中,需要使用dual表:

select (SELECT COUNT(*) FROM Bike),
(SELECT COUNT(*) FROM Car),
(SELECT COUNT(*) FROM Truck)
from dual;

如果您需要在单行中返回这些值,则以下操作应该适用于任一数据库:

select b.bcnt, c.ccnt, t.tcnt
from (SELECT COUNT(*) as bcnt FROM Bike) b cross join
(SELECT COUNT(*) as ccnt FROM Car) c cross join
(SELECT COUNT(*) as tcnt FROM Truck) t;

关于java - Oracle 子查询不返回任何记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39622026/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com