Mysql 逗号分割的字典值转换相对应的字典名称
时间: 2024-01-04 09:05:16 浏览: 58
可以使用MySQL的内置函数`FIND_IN_SET()`和`GROUP_CONCAT()`来实现逗号分割的字典值转换相对应的字典名称。
假设有一个字典表`dict`,包含以下数据:
| id | name |
|----|------|
| 1 | A |
| 2 | B |
| 3 | C |
| 4 | D |
现在有一个数据表`data`,包含以下数据:
| id | dict_values |
|----|-------------|
| 1 | 1,2 |
| 2 | 2,3,4 |
| 3 | 1,3,4 |
我们可以使用以下SQL语句查询出每个数据行中的`dict_values`转换成相对应的字典名称:
```sql
SELECT
d.id,
GROUP_CONCAT(dict.name) AS dict_names
FROM
data d
JOIN dict ON FIND_IN_SET(dict.id, d.dict_values)
GROUP BY
d.id;
```
以上SQL语句将返回以下结果:
| id | dict_names |
|----|------------|
| 1 | A,B |
| 2 | B,C,D |
| 3 | A,C,D |
可以看到,每个数据行中的`dict_values`已经被转换成了相对应的字典名称。
阅读全文