以下のクエリを実行しようとしています。
同じ列を取得していますが、2 日間連続しています。挿入する値は day2.Value - day1.Value です。
tab2 に値 (day2) が含まれていない場合、挿入される値は 0 - day1.Value になります。
tab1 のデータはあるが tab2 のデータがない場合、機能しない部分はこの -day1.Value です。代わりに、null を取得するだけですか?
UPDATE tab2
SET Change = ISNULL(tab2.Value ,0) - ISNULL(tab1.Value ,0)
FROM Table_Name tab1
LEFT OUTER JOIN Table_Name tab2
ON tab2.COBDate = '2012-5-18'
AND tab1.FileName = tab2.FileName
AND tab1.ID = tab2.ID
AND tab1.ScenarioID = tab2.ScenarioID
WHERE tab1.COBDate = '2012-5-17'
AND tab1.FileName = 'GBP.csv'