我有以下SQL查询:
select c.id
from (select id from customers) c
这个查询没有实际价值 - 我为了这篇文章的目的大大简化了它。
我的问题:是否可能在使用HQL的from子句中有子查询。如果没有,我可以先查询客户,有点像sql中的临时表,然后使用结果作为下一个查询的来源吗?
感谢
答案 0 :(得分:7)
是的,这是可能的。
上面的查询可以用HQL编写为:
select Id
from Customer
where Id in (select Id from Customer)
答案 1 :(得分:3)
我自己也遇到过这个问题。我花了一些时间才意识到hql不支持from子句中的子查询。
请参阅hql文档here中的第14.13节。