在SQL Server 2008中,我有一组包含East和West成本的数据。我正在为加拿大的客户增加一个新的领域,需要是东西方成本的1.5倍(这是更高的)。所以我试图想出一些我可以执行的sql。我尝试过以下但未取得成功:
UPDATE ShippingCost
SET
IF EastCost>WestCost
Canada= EastCost*1.8
ELSE
Canada= WestCost*1.8
ENDIF
我确定有一种简单的方法可以做到这一点?有什么想法吗?
答案 0 :(得分:14)
您需要使用案例
UPDATE ShippingCost
SET
Canada = CASE WHEN EastCost>WestCost THEN EastCost*1.8
ELSE WestCost*1.8 END
答案 1 :(得分:0)
使用两个更新语句:
UPDATE SHIPPINGCOST SET Canada = EastCost*1.8 WHERE EastCost>WestCost
UPDATE SHIPPINGCOST SET Canada = WestCost*1.8 WHERE EastCost<=WestCost
答案 2 :(得分:0)
UPDATE ShippingCost SET Canada = GREATEST(EastCoast, WestCoast) * 1.8;
注意: T-SQL方言不支持GREATEST
。