Мой текущий код:
SELECT
T1.SC,
T2.ACC,
T3.C_IDENT,
T4.TITLE,
T4.MID,
T4.SUR
FROM D_REG.AR_JOINT T1
LEFT JOIN E_BASE.ACC_TRANS T2
ON T1.SC = T2.SC
AND T1.ACC = T2.ACC
AND T2.IDENTIFEIR_END_DATE ='3000-12-31'
LEFT JOIN E_BASE.B_HOLDING T3
ON T2.M_IDENT = T3.C_IDENT
AND T3.EFF_END_DATE ='3000-12-31'
AND T3.P_HOLDING_END+DATE ='3000-12-31'
LEFT JOIN E_BASE.PNAM T4
ON T3.C_IDENT = T4.C_IDR
AND T4.EFF_END_DATE ='3000-12-31'
В данный момент код заявляет, что должен вернуть результат, если Конечные даты = '3000-12-31'.Однако, если будут внесены какие-либо изменения в какой-либо из столбцов таблицы, будет создана дублирующаяся строка для этой записи.У оригинала будет дата окончания даты внесения поправки, в то время как новая запись будет иметь дату окончания «3000-12-31».
Мой код будет затем возвращать только активные записи.Если запись больше не активна, у нее будет конечная дата, такая как «2018-10-15», и поэтому она возвращается????значения из T4.
Как я могу изменить код, чтобы вернуть запись с самой поздней датой окончания?