MYSQL:根据与另一个表的字段的部分匹配更新客户字段

时间:2015-08-27 16:24:24

标签: mysql

我有两张桌子:

客户,公司

customer表包含company_id和email_address,而company表包含company_id和URL

我想运行一个查询,根据部分匹配更新所有客户表的company_id到匹配的company_id - 特别是如果客户的email_address包含URL。

例如,如果客户有customer@google.com,则会检查公司表以查看该电子邮件是否包含google.com网址,如果是,则会向客户提供公司表格中匹配的company_id。

在单个查询中执行此操作的有效方法是什么?谢谢!

1 个答案:

答案 0 :(得分:1)

我认为这会完全符合您的要求:

UPDATE customer 
LEFT JOIN company 
    ON (customer.email LIKE CONCAT('%@', company.URL, '%'))
SET customer.company_id = company.company_id
WHERE company.company_id IS NOT NULL;  

https://facebook.github.io/relay/docs/getting-started.html

相关问题