SQL查询中的MAX语句

SQL查询中的MAX语句,sql,ms-access-2010,Sql,Ms Access 2010,我有两份合同清单,每一份都有结束日期。每次更新或扩展结束日期时,都会在原始表中创建一条新记录。另一个只有合同号和产品说明。第一个是这样的: Contract End Date AAA001 12/01/2013 AAA001 12/30/2013 BBB002 01/01/2014 BBB002 01/30/2014 您可以看到,对于每个合同,结束日期都会随之更新 Contract Product AAA001 Apples AAA001

我有两份合同清单,每一份都有结束日期。每次更新或扩展结束日期时,都会在原始表中创建一条新记录。另一个只有合同号和产品说明。第一个是这样的:

Contract   End Date
AAA001     12/01/2013 
AAA001     12/30/2013
BBB002     01/01/2014
BBB002     01/30/2014
您可以看到,对于每个合同,结束日期都会随之更新

Contract   Product
AAA001     Apples
AAA001     Apples
BBB002     Oranges
BBB002     Oranges
我需要一个查询,它将生成这样一个表,其中只返回最大日期值

Contract   Product   End Date
AAA001     Apples    12/30/2013
BBB002     Oranges   01/30/2014
可以使用Mas…In语句吗?我正在使用Access 2010。

尝试此查询

Select Contract, product, MAX(endDate) FROM table1 
INNER JOIN table2 ON table1.contract = table2.contract 
group by contract, product
请尝试此查询

Select Contract, product, MAX(endDate) FROM table1 
INNER JOIN table2 ON table1.contract = table2.contract 
group by contract, product

使用GROUP BY实现此功能使用GROUP BY实现此功能抱歉,它仍然返回所有不同的日期,只添加了产品。啊,我现在明白了,下次有机会我会尝试给你一个更好的示例。我相信您将需要一些类似于通用表表达式的东西,例如Hey Thank,感谢您指出这一点。一旦我回去工作,我会把这件事弄得一团糟。这个例子已经超出了我SQL知识的极限,我将看看我是否能让它工作@user2907249你用过这个吗?你能告诉我上面的SQL返回了什么错误吗?是的,对不起。去工作吧。我刚刚创建了一个交叉表查询,然后从中提取结束日期。使它的效率降低了一点,但数据集并不是那么大,所以不太重要。很抱歉,它仍然返回所有不同的日期,只是添加了产品。啊,我现在明白了,下次有机会我会给你一个更好的例子。我相信您将需要一些类似于通用表表达式的东西,例如Hey Thank,感谢您指出这一点。一旦我回去工作,我会把这件事弄得一团糟。这个例子已经超出了我SQL知识的极限,我将看看我是否能让它工作@user2907249你用过这个吗?你能告诉我上面的SQL返回了什么错误吗?是的,对不起。去工作吧。我刚刚创建了一个交叉表查询,然后从中提取结束日期。使它的效率降低了一点,但数据集并不是那么大,所以不重要。