[英]How to Update table column in SQL SERVER DB based on condition
我有一張包含以下信息的表:
ID Value_N1 Date_N1 Value_N4 Date_N4
1 NULL 2017-05-31 0.236 2017-02-28
2 NULL 2017-05-31 0.589 2017-02-28
3 NULL 2017-08-30 0.898 2017-08-30
4 NULL 2017-11-30 0.789 2017-11-30
我想用Value_N4中的值更新Value_N1列,其中Date_N1等於Date_N4
我嘗試使用以下查詢,但是卻無濟於事:
Update TableName
set Value_N1 = (select Value_N4 from TbleName where Date_N1 = Date_N4)
由於該查詢返回的值不止一個,因此該查詢不起作用。 如何做到這一點?
您也可以使用CASE
表達式。
詢問
update TableName
set Value_N1 = (
case when Date_N1 = Date_N4
then Value_N4
else Value_N1 end
);
更新TableName設置Value_N1 = Value_N4,其中Date_N1 = Date_N4
將新值設置為Value_N1
邏輯是正確的,但是要更新記錄的限制應出現在WHERE
子句中。
UPDATE TableName
SET Value_N1 = Value_N4
WHERE Date_N1 = Date_N4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.