我正在尝试运行更新查询,看起来很简单我将所有字段InitialCharge更新为' 21.61'在当前的InitialCharge =' 20.72',我还有其他一些限定字段。我收到了错误:
子查询返回的值超过1。子查询遵循=,!=,<,< =,>,> =或子查询用作表达式时不允许这样做
这是我的查询,我尝试使用" IN"和#34;存在"但是都不起作用:
update [dbo].[tTransactionHistory]
set InitialCharge = '21.61'
Where exists(
select InitialCharge from [dbo].[tTransactionHistory]
where ProcedureID = '-747422922' and InitialCharge = ('20.72') and (DateOfService >= '09/01/2014' and DateOfService < '10/01/2014')
)
我甚至尝试了一个简单的更新查询,但我得到了错误,我从未遇到过这个问题,试图只更新几个字段
update [dbo].[tTransactionHistory]
set InitialCharge = '21.61'
where InitialCharge = '20.72'
答案 0 :(得分:0)
答案 1 :(得分:0)
我很困惑为什么你需要一个EXISTs子查询...
UPDATE [dbo].[tTransactionHistory]
SET InitialCharge = '21.61'
WHERE
ProcedureID = '-747422922' AND
InitialCharge = '20.72' AND
(DateOfService >= '2014/09/01' and DateOfService < '2014/10/01')
你确定表列是字符串??
答案 2 :(得分:0)
问题是桌子上的触发器,它不是查询:(