繁体   English   中英

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

[英]Left join table with max value and other column from second table

我有两个结构与此类似的表:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM