mysql:使用Join更新

mysql:使用Join更新,mysql,Mysql,我正在尝试更新company_match与company_name,其中company descrption包含别名 company contains id,company_name company_alias contains id,company_id,company_alias company_rawdata contains id,complaint descrption,company_match 或者,如果a.company\u alias包含在a.company\u alia

我正在尝试更新company_match与company_name,其中company descrption包含别名

company contains id,company_name

company_alias contains id,company_id,company_alias

company_rawdata contains id,complaint descrption,company_match
或者,如果
a.company\u alias
包含在
a.company\u alias
中的某个位置,则会出现以下情况:

UPDATE company_rawdata r
INNER JOIN company_alias a ON a.company_alias = r.description
INNER JOIN company c ON c.id = a.company_id
SET r.company_match = c.company_name 
试试看:

UPDATE company_rawdata r
INNER JOIN company_alias a ON a.company_alias LIKE CONCAT('%', r.description, '%')
INNER JOIN company c ON c.id = a.company_id
SET r.company_match = c.company_name 

发布您的代码,我们将为您提供指导。更新公司的原始数据cr内部加入c公司,以c公司的名称命名,如concat(“”,cr.投诉“”)设置cr.matched_company=c.company_name无法联接所有3个表a.company_alias=r.description不相等例如description包含“vodaphone online complaints”,company_alias包含vadaphone,Vadafone您应该说明表之间的关系,我们不会猜测他们。在我看来,OP希望更新
公司的原始数据,而不是
公司
UPDATE company_rawdata r
INNER JOIN company_alias a ON a.company_alias LIKE CONCAT('%', r.description, '%')
INNER JOIN company c ON c.id = a.company_id
SET r.company_match = c.company_name 
 UPDATE company c
 INNER JOIN company_alias a ON a.company_id = c.id
 INNER JOIN company_rawdata r ON a.company_alias = r.company_match
 SET r.company_match = c.company_name