在其他字段中加入具有指定字段值和最高值的行

时间:2010-12-14 19:29:21

标签: mysql

我有两张桌子:
文章:
ID INTEGER
...
Article_versions:
文章INTEGER
郎ENUM
时间TIMESTAMP
主要关键(文章,郎,时间)
...

我想从相关的最新行Article_versions中选择文章和字段中的字段。
我应该使用join或2 select语句吗?
我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

您确切地想要检索哪些信息令人困惑,但如果您知道某个特定ID,则可以使用:

SELECT ID,lang,time
FROM articles,article_versions
WHERE articles.ID=<article_id_you_provide> AND
      articles.ID=article_versions.article AND
      article_versions.time = (SELECT max(time)
                               FROM article_versions
                               WHERE article=<article_id_you_provide>);

如果这不是你想要的,请告诉我,我可以进一步修改我的答案。

答案 1 :(得分:0)

假设[Articles_versions]。[time]将是连接集中返回的唯一唯一列,您可以使用以下内容:

SELECT [Articles].[ID], [Articles_versions].[article], [Articles_versions].[lang], MAX([Articles_versions].[time])
FROM Articles Inner Join Articles_versions ON [Articles].[ID] = [Articles_versions].[article]
GROUP BY [Articles].[ID], [Articles_versions].[article], [Articles_versions].[lang]