这是我的查询。生病了更新要拥有的项目,其中Name =我在列表框中选择的内容。然后我会更新我的钱到钱 - 价格。但是它发回了一个错误,与FROM有关。
"UPDATE Items SET Owned = '1' WHERE Name = @RecipeId " +
"UPDATE [User] SET Money = Money WHERE IsActive ='1' - Price FROM Items WHERE Owned ='1'
如果我从我的代码中移除"WHERE IsActive ='1'"
,它会减去,但它会对所有用户执行此操作,这就是为什么我要将"WHERE IsActive ='1'"
添加到我的查询中
抱歉英语不好
答案 0 :(得分:0)
第二个应该是:
UPDATE [User] SET Money = Money - Price FROM Items WHERE Owned ='1' and IsActive ='1'
答案 1 :(得分:0)
也许你想要这个:
UPDATE u SET Money = u.Money - i.Price FROM [User] u, Items i
WHERE i.Owned='1' AND i.IsActive = '1'
不确定IsActive
是否来自Items
表。 User
和Item
之间的链接是什么?您在User
只有一条记录吗?
PS:最好使用Owned
标志的数值,而不是char '1'
。将其定义为tinyint
并比较/分配Owned=1
。