"bonjouràtous"(大家好)
我来自这个帖子: 如何用SQL中的另一列选择MAX(列值),DISTINCT的行?
这家伙几乎在我的项目中做了我需要的.事实上,我正在尝试做类似Git的事情:检索上一版本中的所有实例.目前,我有一个表"UM",具有以下属性:
我在SQL中也有这个请求(运行良好并检索想要的结果):
SELECT * FROM agrid.um AS u INNER JOIN
(SELECT u2.name, max(u2.version) AS MaxVersion, u2.fmr
FROM agrid.um AS u2 WHERE u2.fmr = 'CZ2ABVIMG0000' GROUP BY u2.name, u2.fmr) umVersion
ON u.name = umVersion.name AND u.version = umVersion.MaxVersion
WHERE u.fmr = 'ABCDE';
Run Code Online (Sandbox Code Playgroud)
但是当我尝试在JPQL中执行相同操作时,我遇到了一些"JOIN"错误:
TypedQuery<UmEty> q = getManager().getEntityManager().createQuery(
"SELECT u FROM UmEty u INNER JOIN"
+ " (SELECT u2.name, max(u2.version) AS MaxVersion, u2.fmr "
+ " FROM UmEty u2 WHERE u2.fmr = :fmr …Run Code Online (Sandbox Code Playgroud)