我有一个包含用户数据(例如名称,地址等)的表,还有另一个表,其中包含有关用户的文本段落。它们分开的原因是因为我们需要记录所有有关数据的旧记录。因此,如果用户更改其段落-旧的段落仍应存储。 about数据的每一位都有一个主键aboutMeID。我想要做的是一个联接,该联接从另一个表中提取它们的名称,地址等以及aboutMe数据的最新位。

我不确定如何订购联接以仅获取有关我的最新数据。

有人可以帮忙吗?

最佳答案

在要连接两个表的地方,子查询要求带有较旧段落的表只给出最后一个,按日期排序(datestamp DESC),然后根据您的用户ID进行匹配。最后,外部查询将整个事件限制为仅相关用户(@UserID)。

SELECT name, address, aboutme
FROM users
LEFT JOIN
    (SELECT aboutme FROM oldertable
    WHERE aboutMeID = users.id
    ORDER BY datestamp DESC
    LIMIT 1)
WHERE users.id = @UserID;

关于mysql - MySQL获取最接近NOW()的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2804988/

10-12 06:05
查看更多