2011-09-21 93 views
0

我(简化)域模型包含客户和产品之间的许多一对多的关系,所谓的所有权。我想编写一个NHibernate HQL查询,该查询符合拥有每个产品的客户数量(在特定条件下)。请注意,客户可以多次拥有给定的产品,但这只能算作该产品的“投票”。NHibernate的HQL子查询问题

这样做的SQL是很容易的:

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

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

回答

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

感谢杰森Meckley