【发布时间】:2019-07-14 01:57:38
【问题描述】:
我当前的代码是:
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'
目前,如果 End Dates = ‘3000-12-31’,代码状态将返回结果。 但是,如果对表中的任何列进行任何修改,它将为该记录创建一个重复的行。原始记录的结束日期为修改日期,而新记录的结束日期为“3000-12-31”。
然后我的代码将只带回活动记录。如果记录不再有效,它将有一个结束日期,例如“2018-10-15”,因此返回? ? ? ? T4 的值。
如何修改代码以恢复具有最新结束日期的记录?
【问题讨论】:
标签: sql date left-join teradata record