mysql如何更新多条记录,而无需指定外键的值

小号辛格:

我有一个表,看起来像下面这样:

Table - order
id purchase_order_item_id amount
1  1324                   0.0
2  2435                   50.2
3  5643                   87.2
4  6475                   0.0

Table - purchase_order_item
id                     item_id
1324                   82
2435                   83
5643                   84
6475                   85

Table - item
id                     amount
82                   76.1
83                   50.2
84                   87.2
85                   65.9

现在我要检查,如果订单表具有量值0.0。在这种情况下,我必须得到以表由表项(命令中─> purchase_order_item->项)和更新的数据量。

我已经写了下面这是不running.Trying改正它更新查询。

UPDATE order
INNER JOIN purchase_order_item ON purchase_order_item.id =     order.purchase_order_item_id
SET 
order.amount= 
(
SELECT item.amount from item
INNER JOIN purchase_order_item ON purchase_order_item.item_id=item.id
)
where order.amount=0.0;

我在MySQL查询新,并努力写出正确的更新查询。

GMB:

我认为,你想要的update ... join语法:

update orders o
inner join purchase_order_items poi on poi.id = p.purchas_order_item_id
inner join items i on i.id = poi.item_id
set o.amount = i.amount
where o.amount = 0

附注:order在MySQL中的保留字(对于其他数据库),所以我改名为表orders(我使用复数其它表名也使其一致)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章