这是我的第一个问题,所以我会尽量保持简单。
我的" Pendencies System":
有两张桌子 第一 - 主要信息(例如ID,发件人,优先级......)
第二 - 第一个表的日志(用户更改的所有内容,如标题,期间......)
我需要显示与第二个表的最后一个日志相关联的每个未决,以获取更新的信息。
我该怎么做?
提前致谢!
答案 0 :(得分: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
答案 1 :(得分: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/
用于分析如何以最快的速度执行子表查询。