所以我遇到的问题是,当我基于该表创建新表或视图时,我需要一个名为“ IsLatest”的列以根据“接收日期”列显示该记录是否为表中的最新记录,将通过ssis自动填充。 ID_Number和AccountName列将具有多个重复项,但ReceivedDate列将有所不同。因此,当分析师查看表格时,他们要做的就是读取Islatest标志
答案 0 :(得分:0)
您可以使用公用表格表达式首先查找最新日期,然后在case语句中使用它来创建表格视图。
;WITH cteMaxRecievedDate(acctno, MaxRecievedDate) AS
(
SELECT ID_Number, AccountName, max(RecievedDate)
FROM Table GROUP BY ID_Number, AccountName
)
SELECT t1.ID_Number, t1.AccountName,
CASE WHEN t2.MaxRecievedDate = t1.RecievedDate THEN 'true' ELSE 'false' END AS IsLatest
FROM table t1
INNER JOIN cteMaxRecievedDateon t2 ON t1.ID_Number = t2.ID_Number
AND t1.AccountName = t2.AccountName
GROUP BY t1.ID_Number, t1.AccountName, t1.RecievedDate, t2.MaxRecievedDate