我有两个表叫做record
和record_history
。对于每条记录,可能有多个历史记录。它们可以通过id
和 连接record_id
。我想record
用最近的record_history
数据获取所有的条目。我已经创建了这样的查询,
SELECT rec.id, rec.name, rech1.data AS last_history_data
FROM record rec
LEFT OUTER JOIN record_history rech1 ON (rec.id = rech1.record_id)
LEFT OUTER JOIN record_history rech2 ON (rec.id = rech2.record_id AND rech2.ts > rech1.ts)
WHERE rech2.id IS NULL
ORDER BY rec.id DESC
Run Code Online (Sandbox Code Playgroud)
在这里,我通过ts
. 只要没有重复的ts
条目,这就会起作用。如果最近的时间戳在 中重复record_history
,则此查询将返回多于一行的记录。我们如何在左连接上应用限制来限制重复行?