NHibernate HQL子查询问题

时间:2011-09-21 04:36:11

标签: nhibernate hql subquery

我的(简化)域模型包含一个多对多关系,称为客户和产品之间的所有权。我想写一个NHibernate HQL查询,该查询统计拥有每个产品的客户数量(在某些标准下)。请注意,客户可以多次拥有一个给定的产品,但这只应算作该产品的一个“投票”。

这方面的SQL很简单:

select ProductID, count(*)
from (
    select distinct CustomerID, ProductID
    from Ownership
    where ...
) tbl
group by ProductID

不幸的是,HQL不支持from子句中的子查询。如何在HQL中表达此查询?

1 个答案:

答案 0 :(得分:1)

select ProductID, count(distinct CustomerID)
from Ownership
group by ProductID

归功于Jason Meckley