【问题标题】:Multiple UPDATE, same column, different values, different WHERE conditions多个 UPDATE,同一列,不同的值,不同的 WHERE 条件
【发布时间】:2014-03-07 18:24:52
【问题描述】:

我正在尝试在 where 中更新具有不同条件的字段。 其实我有下一条指令:

Update StmHistItm Set SHI_nPayable = @minPayable where SHI_iItemPK = @minrecno
Update StmHistItm Set SHI_nPayable = @maxPayable where SHI_iItemPK = @maxrecno

有没有办法把这两条指令合二为一?

【问题讨论】:

    标签: sql sql-server sql-server-2008 sql-update


    【解决方案1】:

    您可以使用case 表达式并结合where 子句:

    UPDATE StmHistItm 
    SET    SHI_nPayable = CASE SHI_iItemPK 
                          WHEN @minrecno THEN @minPayable
                          WHEN @maxrecno THEN @maxPayable
                          END
    WHERE  SHI_iItemPK IN (@minrecno, @maxrecno)
    

    【讨论】:

      猜你喜欢
      • 2011-03-31
      • 1970-01-01
      • 1970-01-01
      • 2017-11-16
      • 1970-01-01
      • 1970-01-01
      • 2012-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多