SpringBoot我想保存id的字符串转换成文字,请问怎么实现

我有一个标签的字段tags,里面保存的是字符串,标签的id

现在我想查询数据库,将这个tag返回的id变成对应的文字

请问如何实现?

阅读 2.3k
1 个回答

mysql 下面实现非常麻烦,我的版本是 5.7.30

这个应该在任何版本都能实现(5.7.30 已验证),incre_table 的记录数需要大于或者等于 tags 按 , 分割的长度,并且顺序不能跳跃

create table incre_table
(
    AutoIncreID int
);
insert into incre_table
values (1);
insert into incre_table
values (2);
insert into incre_table
values (3);

select group_concat(t2.name)
from (select a.ID, substring_index(substring_index(a.tags, ',', b.AutoIncreID), ',', -1) as tag
      from code_task a
               join
           incre_table b
           on b.AutoIncreID <= (length(a.tags) - length(replace(a.tags, ',', '')) + 1)) as t1
         join tag_table t2
              on t1.tag = t2.id
group by t1.id;

如果有 8 以上的版本,可以尝试下面的 sql(未验证)

with a as (select * from code_task)
select group_concat(name)
from (select name, '1' as tmp from tag_table b where find_in_set(b.id, a.tags)) as nt
group by tmp;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题