mysql中分别有a表和b表,需要通过a表的门店名称列取除了最后一个字以外的字符串模糊匹配b表的门店名称列,将匹配到的b表门店名称录入到a表中
时间: 2024-09-25 11:13:31 浏览: 32
mysql中向表中某字段追加字符串的方法
5星 · 资源好评率100%
在MySQL中,你可以使用 `LIKE` 运算符结合 `SUBSTRING_INDEX()` 函数来实现这个需求。`SUBSTRING_INDEX()` 可以截取字符串的一部分直到遇到指定的分隔符,这里我们可以选择去掉最后一个字符。假设a表的门店名称列为 `store_name_a`,b表的门店名称列为 `store_name_b`,可以编写如下的SQL查询:
```sql
UPDATE a
SET store_name_b = b.store_name_b
FROM a
JOIN (
SELECT store_name_b,
SUBSTRING_INDEX(store_name_b, ' ', -1) AS new_store_name_b
FROM b
) AS sub_b
ON SUBSTRING_INDEX(a.store_name_a, ' ', -1) LIKE CONCAT('%', sub_b.new_store_name_b, '%')
```
这个查询首先从b表中取出每个门店名称去掉最后一个空格后的部分(即除最后一个字外的部分),然后在a表中查找与之模糊匹配的门店名称。如果找到匹配项,就将b表的门店名称设置到a表对应的记录上。
阅读全文