如何基于字段查询具有单个子对象的表中的对象的sql?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何基于字段查询具有单个子对象的表中的对象的sql?相关的知识,希望对你有一定的参考价值。
我现在拥有的是:
与所有社区等获得List<Town>
:
(Town) em.createQuery(from Town towns"
+ " left join fetch towns.neighborhoods neighborhood"
+ " left join fetch neighborhood.population population"
+ " left join fetch population.age age"
+ " where age.value = :ageValue")
.setParameter("ageValue", ageValue)
我希望得到一个List<Town>
只有一个邻居,这是neighborhood.creationDate
的第一个。
我怎么做 ?
我不想把它们全部拿走然后删除它。
谢谢。
答案
我建议在where子句中添加一个子查询,如下所示:
where age.value = :ageValue
AND neighborhood.creationDate =
(Select max(nh.creationDate) From Neighborhood nh
where nh.townsId = towns.townsId)
以上是关于如何基于字段查询具有单个子对象的表中的对象的sql?的主要内容,如果未能解决你的问题,请参考以下文章
如何从具有字典列表的表中查询,仅针对某些键 (BigQuery) SQL