我需要更新一半记录的值。我打算用下面的查询更新记录,但是我一直收到错误消息:“当EXISTS不引入子查询时,只能在选择列表中指定一个表达式。”是否有更好的方法来更新一半结果的价值?任何指导将不胜感激。
begin transaction
update ShoppingCart
SET EpayOrder = '1789614'
WHERE EpayOrder
in (
select top 188 * from ShoppingCart s
inner join Animal a on a.AnimalPK = s.AnimalFK
inner join Users u on s.UserFK = u.UserPK
where EpayOrder = '1789614' --and s.Deleted is null
)
commit
rollback
一半的结果在Epayorder列下的值应为1789614A,而另一半则保持相同的值1789614。
答案 0 :(得分:1)
将*更改为特定列。但是,您的查询不会像您提到的那样将任何内容更新为“ 1789614A”。
ScoringSiteDataDF = ScoringSiteDataDF.groupby(['Exam+DBN+Section'])['Exam+DBN+Section'].value_counts().to_frame('count')
print("Maximum count: " + str(ScoringSiteDataDF['count'].max()))
答案 1 :(得分:0)
请选择所需的列,而不是在子查询中使用*
。
更改此
SELECT TOP 188 * FROM ShoppingCart s
对此
SELECT TOP 188 EPayOrder FROM ShoppingCart s