下面是我当前的MS Access SQL,它显示所有记录。但是,如果有重复的帐户记录,它应该只显示最新日期ComputationPeriodStartingDate 的记录
数据集示例。所有非重复项均应退回,账户1005是唯一的重复项,只有日期为2021年1月12日的账户应包含在退回的中
帐户 | ComputationPeriodStartingDate |
---|---|
10001 | 2021年1月12日 | >Kentctive
尝试使用子查询:
SELECT a.Account, a.ComputationPeriodStartingDate, a.LastName, a.Categories
FROM
(
SELECT [TDS LOANS].Account, [TDS Escrow Projections].ComputationPeriodStartingDate, [TDS LOANS].LastName, [TDS LOANS].Categories
FROM [TDS Escrow Projections] INNER JOIN [TDS LOANS] ON [TDS Escrow Projections].LoanRecID = [TDS LOANS].RecID
WHERE ((([TDS LOANS].PrinBal)<>0))
ORDER BY [TDS LOANS].Account, [TDS Escrow Projections].ComputationPeriodStartingDate DESC
)
as a
INNER JOIN
(
SELECT Account, MAX(ComputationPeriodStartingDate) as max_date
FROM
(SELECT [TDS LOANS].Account, [TDS Escrow Projections].ComputationPeriodStartingDate, [TDS LOANS].LastName, [TDS LOANS].Categories
FROM [TDS Escrow Projections] INNER JOIN [TDS LOANS] ON [TDS Escrow Projections].LoanRecID = [TDS LOANS].RecID
WHERE ((([TDS LOANS].PrinBal)<>0))
ORDER BY [TDS LOANS].Account, [TDS Escrow Projections].ComputationPeriodStartingDate DESC
)
GROUP BY Account) as b
ON a.Account=b.Account AND a.ComputationPeriodStartingDate = b.max_date
子查询将为每个Account
返回最大值的ComputationPeriodStartingDate
。然后我们将其与关于Account
和max_date
的表连接起来。
注意:您没有提到表名。因此,相应地更新表名。