我有两个包含商业信息的表,第一个让我们称之为A有(id,info,category)第二个让我们称之为B有(id,phone,category)。
A.info包含地址,电话和其他信息。 B.phone只包含一个电话号码。
我想将B.category设置为A.info中B.phone存在的A.category。
我在想这样的事情:
update A
inner B
set B.category = A.category
where B.phone like %A.phone%
没有幸运的场外
答案 0 :(得分:2)
好的,试试这个查询:
update b, a
set b.category = a.category
where a.info like concat('%', b.phone, '%');
答案 1 :(得分:0)
看起来您提供了文字A.Phone值而不是实际列值。
您提到在其中一条评论中也使用了通配符。如果您还需要更精细的控制,可以使用REGEXP。
我不确定您的列数据类型是什么,但这是一个匹配记录的示例 其中a.info REGEXP concat('[[:<:]]',b.phone,'[[:>:]]')