【问题标题】:How to count subqueries in HQL?如何计算 HQL 中的子查询?
【发布时间】:2012-11-18 18:03:23
【问题描述】:

我需要用 HQL 计算这个子查询(在 JPA 中使用 Hibernate)

SELECT DISTINCT s.customerName, s.customerCode, MAX(s.orderDate) as last_order_date 
FROM XoopsSalesOrder s 
GROUP BY s.customerCode 
HAVING MAX(s.orderDate) 
BETWEEN '2012-7-1' AND '2012-10-1' AND MAX(s.orderDate) NOT BETWEEN '2012-10-1' AND CURRENT_DATE "

我没有使用 Hibernate lib ,所以我必须设法仅使用 HQL。 有人可以帮我吗?非常感谢!

【问题讨论】:

  • 你最后有没有找到不绘制完整结果集的方法?

标签: java spring hibernate jpa hql


【解决方案1】:

也许应该在回答您的问题之前询问更多详细信息,但似乎我在这里没有足够的积分(或声誉)来像其他人一样做到这一点。无论如何,以下是我的想法。

假设有 XoopsSalesOrder.Id 作为主键并且 XoopsSalesOrder.customerCode 是唯一的。

select s.customerName, s.customerCode, s.orderDate as last_order_date 
from XoopsSalesOrder s 
where s.Id in (
  select s2.Id from XoopsSalesOrder s2 
  where 
  s2.orderDate = max(s2.orderDate) 
  and s2.orderDate between '2012-7-1' AND '2012-10-1' 
  and s2.orderDate not between '2012-10-1' AND current_date 
  group by s2.customerCode
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-20
    相关资源
    最近更新 更多