SQL:使用多对多关系对表进行分组

时间:2013-09-19 23:31:35

标签: sql ms-access many-to-many grouping

我有以下表格:

User: id
Table1: id, user_id, 
Table2: id, date_

(表2与表1中的多对一关系,表1与用户一对多关系,它与表2和用户之间的多对多关系起作用,但表1包含其他信息(与此无关)问题))

我需要一个查询:

row: User.id  Table1.id  Table2.id  Table2.date_

每个用户只显示一行,其中Table2.date_与所有与该用户相关的Table2最大

提前致谢, 艾德

1 个答案:

答案 0 :(得分:0)

这应该有用(注意,我省略了Table2.ID,因为它与Table1.ID相同):

SELECT Table1.user_id, Table1.ID, q.max_date
FROM TABLE1 INNER JOIN 
(SELECT ID, MAX(date_) as max_date FROM Table2 GROUP BY ID) AS q
ON Table1.ID = q.ID