上图是我用来记录项目位置随时间变化的数据库结构的简化版本。我编写了以下 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 http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html#queryhql-subqueries
请注意,HQL 子查询只能出现在 select 或 where 子句中。
您可以重写查询,使子查询成为 where 子句的一部分。在子查询中引用l.idItem
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)