22,207
社区成员
发帖
与我相关
我的任务
分享
UPDATE A SET A.price = CASE WHEN A.price > B.price * 1.1 THEN B.price * 1.1 ELSE B.price * 0.9 END
FROM #HousingPrice A, #HousingPrice B
WHERE B.RealEstateID = A.RealEstateID AND B.Source <> A.Source
AND (A.price > B.price * 1.1 OR A.price < B.price * 0.9)
AND A.adjustflag = 'Y' AND B.adjustflag = 'N'
这里我增加了一个field : adjustflag 用来表示这些记录是需要更新的还是不更新的
因为你应该是指定更改某些来源的数据的吧?
update t
set C1 = case when C1> C2 * 0.1 then A * 1.1 when C1 < C2*0.1 then A * 0.9 end
where (C1> C2 * 0.1 or C1 < C2*0.1)
and source .....