如何编写SQL查询以根据另一个表中的结果更新表

时间:2016-05-15 23:51:05

标签: sql-server

我的数据库中有2个不同的表,但找不到有关如何使用结果更新表的一部分的任何参考。

这是我的方案

表: MenuItems

╔════╦══════════════╦
║ id ║  Name        ║
╠════╬══════════════╬
║  1 ║ test         ║
║  2 ║ test2        ║
╚════╩══════════════╩

表: MenuItemPrices

╔════╦══════════════╦
║ id ║  Price       ║
╠════╬══════════════╬
║  1 ║ 3.50         ║
║  2 ║ 4.50         ║
╚════╩══════════════╩

假设我想将test2价格更新为5.00,我需要的查询是什么?

2 个答案:

答案 0 :(得分:0)

UPDATE p
SET    Price = 5.00
FROM   MenuItems i
INNER JOIN MenuItemPrice p ON i.id = p.id
WHERE  i.Name = 'test2'

答案 1 :(得分:0)

UPDATE p
SET Price = 5.00
FROM   
    MenuItems i,
    MenuItemPrice p 
WHERE 
    i.id = p.id AND
    i.Name = 'test2'