首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jpql:没有Group By

Jpql:没有Group By
EN

Stack Overflow用户
提问于 2020-10-13 23:20:02
回答 1查看 31关注 0票数 0

我有(工作中的) SQL查询

代码语言:javascript
复制
   select team
   from team
   join account a on team.account_id = a.id
   left join exchange_order eo on a.id = eo.account_id
   left join exchange_order_transaction eot on eo.id = eot.order_id
   having count(eot.id) = 0;

并希望将其转换为jpql。

代码语言:javascript
复制
    @Query("SELECT COUNT(t) " +
            "FROM Team t " +
            "         left join Account a on t.account = a.id " +
            "         left join ExchangeOrder eo on a.id = eo.account " +
            "         left join ExchangeOrderTransaction eot on eo.id = eot.order " +
            "HAVING count(eot) = 0")
    long countWithoutTransactions();

问题是,JPQL似乎不允许没有"group by“。但在这种情况下,我不想要任何组的东西。只想计算所有行的数量。

有没有什么方法可以泛化"group by“,或者我应该如何构造查询?

EN

回答 1

Stack Overflow用户

发布于 2020-10-14 08:17:57

我认为您只需要对exchange_order_transaction表执行一次左反联接。使用以下查询:

代码语言:javascript
复制
select team.*
from team
join account a on team.account_id = a.id
left join exchange_order eo on a.id = eo.account_id
left join exchange_order_transaction eot on eo.id = eot.order_id
where eot.id is null;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64338137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档