0

这是我在这里的第一个问题,所以我会尽量保持简单。

我的“Pendencies System”上有两个表:

第 1 - 主要信息(例如 id、发件人、优先级...)
第 2 - 第一个表的日志(用户更改的所有内容,例如标题、期间...)

我需要显示与第二张表的最后一个日志相关联的每一个挂起,以获取更新的信息。

我怎么做?

提前致谢!

4

2 回答 2

0

您需要创建一个子查询来从日志表中收集 ID 和最大值。像下面这样的东西就足够了。

SELECT m.id, m.sender, m.priority, l2.*
FROM maininfo m
    INNER JOIN (SELECT id, MAX(PrimaryKey) AS Max
                FROM logs
                GROUP BY id) l ON m.id = l.id
    INNER JOIN logs l2 ON m.id = l2.id AND l.Max = l2.PrimaryKey
于 2013-03-12T21:36:02.233 回答
0
SELECT * FROM 
  Main JOIN
  (SELECT * FROM
     Logs where Logs.Id in 
        (SELECT MAX(Id) from Logs GROUP BY Logs.Main_Id)
  ) as newestLogs
  ON newestLogs.Main_Id = Main.Id

这应该大约工作

http://www.xaprb.com/blog/2006/12/07/how-to-select-the-firstleastmax-row-per-group-in-sql/

分析如何最快地进行子表查询。

于 2013-03-12T21:40:15.793 回答