【发布时间】:2011-02-12 08:57:35
【问题描述】:
我有以下 SQL 查询:
select c.id
from (select id from customers) c
这个查询没有实际价值——为了这篇文章的目的,我大大简化了它。
我的问题:是否可以在 from 子句中使用 HQL 进行子查询。如果没有,我是否可以先查询客户,有点像 sql 中的临时表,然后将结果用作下一个查询的源?
谢谢
【问题讨论】:
标签: nhibernate hql
我有以下 SQL 查询:
select c.id
from (select id from customers) c
这个查询没有实际价值——为了这篇文章的目的,我大大简化了它。
我的问题:是否可以在 from 子句中使用 HQL 进行子查询。如果没有,我是否可以先查询客户,有点像 sql 中的临时表,然后将结果用作下一个查询的源?
谢谢
【问题讨论】:
标签: nhibernate hql
是的,这是可能的。
上面的查询可以用HQL写成:
select Id
from Customer
where Id in (select Id from Customer)
【讨论】:
我自己也遇到过这个问题。花了我一段时间才意识到 hql 不支持 from 子句中的子查询。
请参阅 hql 文档here 中的第 14.13 节。
【讨论】: