微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

左连接表的最大值和第二个表中的其他列

如何解决左连接表的最大值和第二个表中的其他列

我有两个表,其结构类似于此:

table1
ID |Field1|Field2

table2
ID|Table1_ID|Date|Notice

我需要根据第二个表中的最大日期在MS Access sql中保留这些表的联接,还需要在新表中包括通知”字段,因此结果应如下所示:

ID|Field1|Field2|Max_Date|Notice

我可以像这样基于最大日期联接表:

SELECT t1.ID,t1.Field1,t1.Field2,t2.Max_date
FROM table1 AS t1
LEFT JOIN
[SELECT Table1_ID,MAX(Date) AS Max_date 
FROM table2
GROUP BY Table1_ID] AS t2
ON t1.ID = t2.Table1_ID

如何在此查询中也包含“通知”字段?

解决方法

再次

JOIN

SELECT t1.ID,t1.Field1,t1.Field2,t2m.Max_date,t2.Notice
FROM (table1 AS t1 LEFT JOIN
      (SELECT Table1_ID,MAX(Date) AS Max_date 
       FROM table2
       GROUP BY Table1_ID
      ) AS t2m
      ON t1.ID = t2m.Table1_ID
     ) LEFT JOIN
     table2 as t2
     ON t2.Table1_ID = t2m.Table1_ID AND t2.Date = t2m.Max_Date

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。