SQL UPDATE将列设置为等于由不同列引用的相关表中的某个值?

问题描述 投票:0回答:1

有一个客户表和call_card表。 card_id是customers表中引用call_card表的外键

customers table

上图是客户表

enter image description here

上面的图片是call_card表

我想要的是什么 (如果customers表中的location_id和visit_id等于call_card中的location_id和visit_id,那么我应该将customers表中的card_id设置为与call_card中的card_id相等)。

这种情况的最佳方法是什么, 我为英语不完美而道歉。

mysql sql
1个回答
1
投票

这听起来像一个joinupdate

update customers c join
       call_card cc
       on c.location_id = cc.location_id and c.visit_id = cc.visit_id
    set c.card_id = cc.card_id;
© www.soinside.com 2019 - 2024. All rights reserved.