0
我有2個表([WY WC 2016更改TEMP]和[WC_JURIS_CODES])。我試圖根據第一個表中的記錄查找第二個表中的記錄,但只有第二個表中記錄最新的EFF_TO日期的記錄,前提是該EFF_TO = NULL的WC_CODE沒有任何其他記錄。如何識別重複記錄,其中沒有任何記錄具有NULL的特定字段
我開始用這個SQL:
SELECT OLD.[WC_CODE]
,OLD.[EFF_FROM]
,OLD.[EFF_TO]
FROM [WY WC 2016 Changes TEMP] NEW --The SOURCE TABLE
INNER JOIN [WC_JURIS_CODES] OLD on NEW.[WC_CODE] = OLD.[WC_CODE]
WHERE NEW.[Status] = 'N' and (OLD.[JURIS_CODE] = 'WY' and OLD.[EFF_TO] is not NULL) or (OLD.[JURIS_CODE] = 'WY' and OLD.[EFF_TO] is NULL)
ORDER BY OLD.[WC_CODE], OLD.[EFF_FROM]
這將返回:
WC_CODE EFF_FROM EFF_TO
000010 04/01/2011 12/31/2011
000010 01/01/2012 12/31/2012
000010 01/01/2013 12/31/2013
000010 01/01/2014 12/31/2014
000010 01/01/2015 NULL
000020 04/01/2011 12/31/2011
000020 01/01/2012 12/31/2012
000020 01/01/2013 12/31/2013
000020 01/01/2014 12/31/2014
000030 04/01/2011 12/31/2011
000030 01/01/2012 12/31/2012
000030 01/01/2013 12/31/2013
000030 01/01/2014 12/31/2014
我只希望看到這樣的結果:
WC_CODE EFF_FROM EFF_TO
000020 01/01/2014 12/31/2014
000030 01/01/2014 12/31/2014
,因爲它沒有其他記錄WC_CODE ='000030'或'000020',其中EFF_TO爲空,並且它們具有最新(最近的)EFF_TO日期。
我試過獨特的,獨特的,但沒有一個工作。我相信我需要識別重複,然後作爲一個羣體審問他們。毫無頭緒!任何幫助,將不勝感激。
謝謝!
請爲您的兩個表發佈CREATE TABLE語句。另外,這是哪個數據庫系統? (我不認識'''''''語法。) – Alex
@Alex。沒有「CREATE TABLE」。這兩個表已經存在於我的數據庫中。我正在使用MS SQL Server 2014. –
瞭解。但看到「CREATE TABLE」將幫助我們理解表格的結構,從而幫助您給出更好的答案。 – Alex