SQL UPDATE SET列是否等于由其他列引用的相关表中的某个值?

时间:2019-02-01 22:41:46

标签: mysql sql

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

customers table

上面的图像是客户表

enter image description here

上面的图像是电话卡表

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

这种情况下最好的方法是什么,
抱歉,我的英文单词不够完美。

1 个答案:

答案 0 :(得分: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;