我有2個表,其值存儲如下。更新來自兩個表值的sql查詢
表1
ReferranceID StatusNumber ServiceType T2OpenDt T1OpenDT
162987 399519 Orthopaedic Surgery NULL 2011-08-19
162987 399525 Acupuncture NULL 2011-08-19
162987 413405 Anesthesiology NULL 2011-09-28
162987 517174 Chiropractic NULL 2012-04-26
表2
ReferranceID StatusNumber Status T2OpenDate
162987 256033 Closed 2010-11-17
162987 488518 ReOpen 2012-02-22
第一表應如下面從第二表進行更新。 (即,結果值)
ReferranceID StatusNumber ServiceType T2OpenDt T1OpenDT
162987 399519 Orthopaedic Surgery 2010-11-17 2011-08-19
162987 399525 Acupuncture 2010-11-17 2011-08-19
162987 413405 Anesthesiology 2010-11-17 2011-09-28
162987 517174 Chiropractic 2012-02-22 2012-04-26
「2010-11-17」將在3行由於T2OpenDate更新小於T1Opendate和 有的2012-02-只有一個一次出現22由於此日期略大於其他3個頂級T1OpenDate且小於第4個T1OpenDate。
有沒有人可以爲我推薦上面的UPDATE sqlquery。非常感謝你幫助我。根據亞倫Bertrand的
的CommNet
如果有表2中其他行對同一轉診?例如。該狀態已關閉並重新打開多次? – 2012-07-09 18:53:34
可以有任何數量的狀態,如(關閉/打開/重新打開)。我們必須選擇應該小於T1OpenDate的日期的最大值。 – desi 2012-07-09 18:56:34