想法是通過選擇上次同步的開始時間來檢查上次系統同步的時間。問題是,持有的同步信息的表格是新的,因爲它移動到生產的表是空的所以這個查詢打破了系統,因爲它不返回任何東西:SQL案例不存在
select ST_DT_TM
from SYNCJOBLOG
where SYS_ID = 'MF' and STAT_CDE = 'FN'
and SYNC_ID = (select MAX(SYNC_ID)
from SYNCJOBLOG
where SYS_ID = 'MF' and STAT_CDE = 'FN')
我試着去的使用的情況下,以檢查是否存在這樣的事的路線:
select case
when exists (select ST_DT_TM
from SYNCJOBLOG
where SYS_ID = 'MF')
then ST_DT_TM
else ''
end as ST_DT_TM
from SYNCJOBLOG
where SYS_ID = 'MF' and STAT_CDE = 'FN'
and SYNC_ID = (select MAX(SYNC_ID)
from [XREFDB].[dbo].[SYNCJOBLOG]
where SYS_ID = 'MF' and STAT_CDE = 'FN'))
當事情不存在於表中,然後它的工作原理,但如果沒有的話那麼它返回一個空行集,並打破了系統。如果我拿出外部where子句並且沒有任何東西在表中,那麼它的作用是返回空行,但是如果表中有東西,那麼它返回多行,我不能擁有它。是否有另一種方法去檢查表中是否存在任何內容,如果不存在,則返回一個空行,否則返回最大SYNC_ID的行?
謝謝!不知道爲什麼我沒有想到這個,但無論如何它幫助我。 – Barrun3