对于我所阅读的内容,在某些情况下,无法在 HQL / Hibernate 中嵌套子查询。
假设我有一个带有价格的文章表,属于一个组。我们想将它们全部添加,但每组文章最多只能添加一个限制。实际上,该表是非规范化的,因此我们在文章表中已经有了该组的最大数量。
所以 SQL 将很简单:
SELECT SUM(case when max_amount is null then price
when price<max_amount then price
else max_amount end)
FROM
(SELECT
SUM(price) as price, group_id, max_amount
FROM articles
GROUP BY group_id, max_amount
)
显然,我的数据模型更复杂,但这是我的主要问题。
我想知道如何在 HQL 中重写它,因为我想我不允许将一个子查询嵌套到另一个子查询中。
谢谢大家。