我有以下疑问:
SELECT e_c.*, c.name, j.status, j.version, j.articleId, j.title FROM assetcategory AS c
INNER JOIN assetentries_assetcategories AS e_c
ON c.categoryId = e_c.categoryId AND c.name = 'news'
INNER JOIN assetentry AS e
ON e.entryId = e_c.entryId
INNER JOIN journalarticle AS j
ON j.resourcePrimKey = e.classPK
AND e.classNameId = (SELECT classNameId FROM classname_ WHERE value = 'com.liferay.portlet.journal.model.JournalArticle')
AND j.companyId= e.companyId
WHERE j.status = 0
返回所有类别 news
在 journalarticles
. 从结果中,我需要为每个项目选择最新的版本 articleId
. 例如,假设有一篇文章有4个版本,即使标题不同,它也是同一篇文章,因为它将有相同的版本 articleId
. 因此对于每个独特的 articleId
我需要最新的 version
. 我该怎么做?
1条答案
按热度按时间9jyewag01#
向子查询添加一个联接,该子查询查找每个项目的最新版本:
子查询连接的基本思想
j2
上面提到的是,它将结果集限制为每篇文章的最新版本。我们不必更改查询的其余部分。