這就是我想要做的。基本上我有一些專欄在表Staging_X
中故意留空,並稍後更新。我想用下面的case
條件更新這些列。我想在存儲過程中實現這一點。使用CASE語句更新多行
UPDATE Staging_X
SET Staging_X.[NoMaterial]
(SELECT (case
when ((([Up]+[Test])+[Mon])+[Down_percentage])*(1.68)=(0)
then (168) else [Lost]*(1.68)
end)
FROM Staging_X)
太多括號 – Jodrell
如果'[NoMaterial]'欄總是依賴於其他列的值,你應該考慮將其更改爲[計算(http://technet.microsoft.com/en-us/library/ms191250(v = sql.105).aspx) –
可以使用計算列,也可以通過將該計算視爲列,或者只是將此計算作爲插入的一部分。 – Ben