我有两个看起来像这样的表:
表:案例
id 名称 状态 case_no
表:注意事项
id case_id note_date 注释
我希望能够创建一个查询,以从案例表中获取数据,并仅从注释表中获取案例表中每一行的最新条目。到目前为止,我根本没有运气。
任何指针将不胜感激
这只会返回带有注释的案例:
SELECT c.*, x.* FROM CASES c JOIN NOTES x ON x.case_id = c.case_id JOIN (SELECT n.case_id, MAX(n.note_date) AS max_note_date FROM NOTES n GROUP BY n.case_id) y ON y.case_id = x.case_id AND y.max_note_date = x.note_date
如果需要所有案例,无论是否附带注释:
SELECT c.*, x.* FROM CASES c LEFT JOIN NOTES x ON x.case_id = c.case_id JOIN (SELECT n.case_id, MAX(n.note_date) AS max_note_date FROM NOTES n GROUP BY n.case_id) y ON y.case_id = x.case_id AND y.max_note_date = x.note_date