我有两张桌子看起来像这样:
游戏(名称,制作者,年份);
费用(姓名,身份证,价格,玩家);
我想更新拥有制造商'微软'的游戏的价格。
感谢任何帮助。
我认为方法是合并名称相同的两个表,然后更新Fees.price,其中Maker = Microsoft。但我不确定如何做到这一点。
我相信@SheldonNeilson和@Gordon Linoff的答案都有效,但我只能给一个复选标记。
答案 0 :(得分:3)
如果您想将所有Microsoft游戏的价格降低10%,那么您可以使用:
update fees
set price = price * 0.9
where name in (select g.name from games g where g.maker = 'Microsoft');
请注意,这是标准语法应该适用于任何数据库。
答案 1 :(得分:2)
UPDATE fees
SET fees.Price = fees.Price * 1.1
FROM Fees fees
JOIN Games games
ON games.Name = fees.Name
WHERE games.Maker = 'Microsoft'