具有动态值和 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。
我使用 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。