gpt4 book ai didi

sql - HQL:是否可以在子查询上执行 INNER JOIN?

转载 作者:行者123 更新时间:2023-12-02 05:10:29 26 4
gpt4 key购买 nike

Diagram

上图是我用来记录项目位置随时间变化的数据库结构的简化版本。我编写了以下 SQL 查询,该查询返回每个位置的当前商品库存:

select * 
from ItemLocationLog l
inner join
(select g.idItemLocationLog, max(g.dateTime) as latest
from ItemLocationLog g
group by g.idItem)
as i
on l.idItem = i.idItem and l.dateTime = i.latest

我遇到的问题是我想将其转换为 HQL,但我还没有找到在子查询上执行 INNER JOIN 的语法,而且似乎不支持此操作。有没有办法将上述内容转换为 HQL(或条件),或者在这种情况下我必须使用标准 SQL 查询?谢谢。

最佳答案

http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html#queryhql-subqueries

Note that HQL subqueries can occur only in the select or where clauses.

您可以重写查询,使子查询成为 where 子句的一部分。在子查询中引用l.idItem

关于sql - HQL:是否可以在子查询上执行 INNER JOIN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10624794/

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