基于SELECT的SQL条件更新

Dam*_*mon 4 sql sql-server select sql-server-2008 sql-update

在SQL Server 2008中,我有一组包含东西方成本的数据.我正在为加拿大的客户增加一个新的领域,这个领域需要是东部或西部成本的1.5倍(这是更高的).所以我试图想出一些我可以执行的sql.我试过以下但没有成功:

 UPDATE ShippingCost

 SET

    IF EastCost>WestCost

       Canada= EastCost*1.8

    ELSE

       Canada= WestCost*1.8
    ENDIF
Run Code Online (Sandbox Code Playgroud)

我确定有一个简单的方法可以做到这一点?有任何想法吗?

Con*_*rix 14

你需要使用Case

 UPDATE ShippingCost

 SET
     Canada = CASE WHEN EastCost>WestCost THEN  EastCost*1.8
                   ELSE WestCost*1.8 END
Run Code Online (Sandbox Code Playgroud)