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



我使用mysql,并有一个表的名称是table标签列值像这样

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

还有master_tag表标签名像这样

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

我想选择数据,但这个标签的值名称:

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

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

您可以连接表,按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;

最新更新