我正在尝试执行以下查询。
我正在获得相同的专栏,但连续两天。我插入的值是day2.Value - day1.Value。
当tab2不包含值(day2)时,要插入的值应为0 - day1.Value
当我有tab1但不是tab2的数据时,这个-day1.Value不起作用的部分。相反,我只是得到一个空?
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'
答案 0 :(得分:0)
尝试使用COALESCE()?
UPDATE tab2
SET Change = COALESCE(tab2.Value ,0) - COALESCE(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'