具有动态值和 1 列结果的子字符串索引

Substring index with dynamic value and 1 column result

我使用 mysql 并有一个 table 名称是 table tag 列值如下

 code     tag_customer
 TG001     1,2,3
 TG002     2,3,4,5

我也有 master_tag table 这样的标签名称

id    value
1     New
2     Active
3     Gold
4     Silver
5     Bronze

我想要 select 数据,但具有此标签的值名称:

code     tag_value
TG001    New,Active,gold
TG002    Active,Gold,Silver,Bronze

我尝试了子字符串索引,但它的显示结果在不同的列中,还需要手动声明子字符串索引需要声明多少循环,同时标签的值是动态的而不是静态的

您可以加​​入表格,按 code 分组并使用 GROUP_CONCAT() 收集标签值:

SELECT t.code,
       GROUP_CONCAT(m.value ORDER BY m.id) tag_value
FROM tag t INNER JOIN master_tag m
ON FIND_IN_SET(m.id, t.tag_customer)
GROUP BY t.code;

参见demo