基于 SELECT 的 SQL 条件 UPDATE

标签 sql sql-server sql-server-2008 select sql-update

在 SQL Server 2008 中,我有一组包含东部和西部成本的数据。我正在为加拿大的客户添加一个新字段,该字段需要是东部或西部成本(以较大者为准)的 1.5 倍。所以我试图想出一些我可以执行的sql。我尝试了以下方法但没有成功:

 UPDATE ShippingCost

 SET

    IF EastCost>WestCost

       Canada= EastCost*1.8

    ELSE

       Canada= WestCost*1.8
    ENDIF

我确信有一种简单的方法可以做到这一点?有什么想法吗?

最佳答案

您需要使用案例

 UPDATE ShippingCost

 SET
     Canada = CASE WHEN EastCost>WestCost THEN  EastCost*1.8
                   ELSE WestCost*1.8 END

关于基于 SELECT 的 SQL 条件 UPDATE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9006666/

相关文章:

mysql - 在实时环境中从 MySQL 迁移到 SQL Server 的最佳方法

SQL 示例查询(我的答案正确吗?)

mysql - 如何按日期选择登录总数?

mysql SQL查询比较整数和字符串

sql-server - SQL Server Integration Services SSIS 2005 - 如何让用户运行包?

c# - 在 Datagrid-WPF 中垂直显示水平表格

sql - 数据库设计 : Stored Record Edit History (Temporal Data)

c# - 架构设计帮助

sql-server - 数据挖掘 - 预测分析

sql - 如何将此 SQL 查询转换为 sequelize?