我有两张桌子:
客户,公司
customer表包含company_id和email_address,而company表包含company_id和URL
我想运行一个查询,根据部分匹配更新所有客户表的company_id到匹配的company_id - 特别是如果客户的email_address包含URL。
例如,如果客户有customer@google.com,则会检查公司表以查看该电子邮件是否包含google.com网址,如果是,则会向客户提供公司表格中匹配的company_id。
在单个查询中执行此操作的有效方法是什么?谢谢!
答案 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;