无法根据SQL Server中的最大日期字段获得2条记录

时间:2019-03-14 22:07:49

标签: sql sql-server

我正在Visual Studio中编写一个SQL脚本,我有2个表,一个表名为ATB,它对Account ID具有唯一的行,而第二个表也具有AccountID,并且另一列称为SettlementTypeID,此第二列具有重复的值,因为它记录了对AccountID所做的更改,这意味着它可以有10行,其中AccountID相同,而{ {1}}日期列。

我正在他们之间进行联接,以使用Lastmodified来获得表SettlementTypeID上每个AccountID的{​​{1}}以避免重复的值,但是对于某些{ {1}}根本不起作用

以下是我当前的代码:

ATB

我不知道我在做什么错,但是当我删除MAX(LastModifiedDate)列并仅保留AccountIDsSELECT t.AccountID, r.SettlementTypeID, r.LastModifiedDate FROM (SELECT accs.AccountID, accs.SettlementTypeID, MAX(accs.LastModifiedDate) AS LastModifiedDate FROM AccountSettlement accs INNER JOIN #ATB atb WITH (nolock) ON atb.AccountID = accs.AccountID WHERE atb.ReferenceType = 'Settlement' AND atb.SettlementType IS NULL GROUP BY accs.AccountID, accs.SettlementTypeID) r INNER JOIN AccountSettlement t ON t.AccountID = r.AccountID AND t.SettlementTypeID = r.SettlementTypeID AND t.LastModifiedDate = r.LastModifiedDate 列时,它可以正常工作。

下面是我得到的一小部分:

Data being pulled

这是脚本根据找到的最大日期提供的数据:

enter image description here

0 个答案:

没有答案