我有一個表,6列,第6列是空的,但其他5有數據。我用第四和第五列來計算一個值,然後我希望將這個值插入第六列。用SELECT語句中的計算值更新空列?
這是我到目前爲止有:
UPDATE Table_Name
SET Change = tab3.Difference
FROM
(SELECT COBDate, FileName, ID, ScenarioID FROM Table_Name WHERE COBDate = '2012-05-18' AND FileName = 'GBP.csv') tab0
INNER JOIN
(SELECT tab1.ID, tab1.ScenarioID,tab1.COBDate, tab1.FileName, Val1 - Val2 AS Difference FROM
(SELECT COBDate, FileName, ScenarioID, ID, CASE WHEN Value IS NULL THEN 0 ELSE Value END AS Val1 FROM Table_Name WHERE COBDate = '2012-05-18' AND FileName = 'GBP.csv') tab1
JOIN
(SELECT COBDate, FileName, ScenarioID, ID, CASE WHEN Value IS NULL THEN 0 ELSE Value END AS Val2 FROM Table_Name WHERE COBDate = '2012-05-17' AND FileName = 'GBP.csv') tab2
ON tab1.ScenarioID = tab2.ScenarioID AND tab1.ID = tab2.ID) tab3
ON tab0.COBDate = tab3.COBDate
AND tab0.FileName = tab3.FileName
AND tab0.ID = tab3.ID
AND tab0.ScenarioID = tab3.ScenarioID
編輯:上面的代碼沒有奏效。它爲每一行設置了相同的值,而不管主鍵是什麼......
請發佈您的'SELECT'查詢。 – bfavaretto