0
我仍然在學習關於SQL查詢的大部分內容,但發現自己停留在此處。我知道我可以將此查詢分解爲兩個查詢來獲得所需的功能,但如果可能的話,我希望在一個查詢中完成。我的問題在於Case條款。我有條件,如果進出列在選定的日期範圍之間,我想做myColumnValue + .5,否則保持不變。 myColumnValue是雙精度值。問題是,當我添加'myColumnValue +一些常量'到THEN和Else子句時,它使更新現在對該行有效,但是當我刪除它並且只有常量時...它工作正常。我正在使用SQL Server 2008.我知道我可能缺少查詢的一部分,我必須重新初始化myColumnValue作爲變量,但我不確定如何執行此操作。如果任何人都可以給我一些指導,如果將此保存到一個查詢中,或者如果沒有案例更容易的方法來做到這一點,任何指導將不勝感激。提前致謝。帶有CASE語句的SQL查詢
UPDATE myTableName
SET myColumnValue=
(CASE
WHEN((In <= '12/1/2011') AND (Out >= '12/7/2011'))
THEN(myColumnValue + .5)
ELSE(myColumnValue)
END)
WHERE ID = 'someIndex'
謝謝你的反應速度快,我在想這件事完全錯誤的。其他陳述是毫無意義的,因爲如果其他陳述不是真的,你根本就不會做任何事情......謝謝你,我真的很感謝你的幫助。 – Marrs