首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试用案例场景进行更新

尝试用案例场景进行更新
EN

Stack Overflow用户
提问于 2018-06-02 21:09:37
回答 1查看 32关注 0票数 0

我正在尝试使用一个案例使用SQL进行更新。我的目标是使用field1更新表中的field1,如果该字段有数字的话。但是,如果它没有数字,那么我想用field2更新field2。当我使用我的代码时,我会得到以下错误。

Msg 116,级别16,状态1,第11行。当子查询未被引入时,只能在select列表中指定一个表达式。

这是我的密码:

代码语言:javascript
复制
Update [dbo].[oracle_reconciliation_report$]
SET [Forecast] =
    (
      Select [Forecast],
           [ProposedApprovedCapitalExpenditureForecast ],
           [ProposedCIP CapitalExpenditureForecast],
      case when [ProposedApprovedCapitalExpenditureForecast ] > 0 
         then [ProposedApprovedCapitalExpenditureForecast ]
      else [ProposedCIP CapitalExpenditureForecast] 
      end
    )
From [dbo].[oracle_reconciliation_report$]

如果字段有数字,我尝试用field1更新表中的field1,但是如果它没有数字,那么我想用field2更新field3。

EN

回答 1

Stack Overflow用户

发布于 2018-06-02 22:25:29

根据你的逻辑,我期望这样的逻辑:

代码语言:javascript
复制
Update [dbo].[oracle_reconciliation_report$]
    set Forecast = (case when [ProposedApprovedCapitalExpenditureForecast ] > 0 
                         then [ProposedApprovedCapitalExpenditureForecast ] > 0 
                         else [ProposedCIP CapitalExpenditureForecast]
                    end)
    From [dbo].[oracle_reconciliation_report$];

也许这会解决你的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50661193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档