我正在尝试使用SQL更新SQL。我的目标是使用field1更新我的tabel中的field3,如果该字段有一个数字。但如果它没有数字,那么我想用field2更新field3。当我使用我的代码时,我收到以下错误。
Msg 116,Level 16,State 1,Line 11.只有一个表达式可以 在未引入子查询时在选择列表中指定 存在。
这是我的代码:
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更新我的tabel中的field3,如果该字段有一个数字,但如果它没有数字,那么我想用field2更新field3
答案 0 :(得分:0)
根据你的逻辑,我希望这样的逻辑:
Update [dbo].[oracle_reconciliation_report$]
set Forecast = (case when [ProposedApprovedCapitalExpenditureForecast ] > 0
then [ProposedApprovedCapitalExpenditureForecast ] > 0
else [ProposedCIP CapitalExpenditureForecast]
end)
From [dbo].[oracle_reconciliation_report$];
也许这会解决你的问题。