mysql 用逗号分隔的字典code翻译为以逗号分割的字典name
时间: 2024-02-01 15:14:00 浏览: 149
MySQL中将一列以逗号分隔的值行转列的实现
5星 · 资源好评率100%
假设你有一个名为dict的MySQL表,其中包括以下列:code(包含逗号分隔的字典code)和name(包含逗号分隔的字典name)。你可以使用以下查询来实现这个功能:
```
UPDATE dict SET name = (
SELECT GROUP_CONCAT(d2.name ORDER BY FIND_IN_SET(d2.code, REPLACE(dict.code, ' ', '')))
FROM dict AS d2
WHERE FIND_IN_SET(d2.code, REPLACE(dict.code, ' ', '')) > 0
)
WHERE 1;
```
这个查询会将每一行的code分解成单个的code,然后根据这些code查询对应的name,最后将这些name以逗号分隔的形式更新到name列中。请注意,这个查询假设code中的每个code都不包含空格。如果你的code中包含空格,你需要在REPLACE函数中指定正确的分隔符。
阅读全文