You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于逗号分隔字符串字段关联两表聚合得到斜杠分隔名称

逗号分隔ID关联匹配并拼接斜杠分隔名称实现方案

现有两张数据表,其中一张表的字段存储了逗号分隔的多个ID值,第二张表为ID与名称的映射表,需求为将ID匹配对应名称后,返回斜杠分隔的名称拼接结果。

表结构与示例数据

表1(Table1)

idvalue1idsvalue2
1abcd1,2,3efgh
2ijkl1,4,6mnop

表2(Table2)

idname
11AB
22CD
33EF
44GH
55IJ
66KL

参考查询SQL

使用FIND_IN_SET函数匹配逗号分隔的ID值,再通过GROUP_CONCAT按指定斜杠分隔符拼接名称即可,语句如下:

SELECT
    a.*,  
    GROUP_CONCAT(b.name SEPARATOR '/') AS groupedName
FROM
    table1 a
LEFT JOIN
    table2 b ON FIND_IN_SET(b.id, a.ids)
WHERE
    a.id = 1
GROUP BY a.id

注意:直接写b.id IN (a.ids)无法正确解析逗号分隔的字符串,仅会匹配第一个ID值,替换为FIND_IN_SET才能正确匹配所有拆分后的ID;GROUP_CONCAT显式指定SEPARATOR '/'可避免数据库默认分隔符配置差异导致的结果异常,加上GROUP BY a.id可保证单条Table1记录只返回一行聚合结果。

查询返回结果

idvalue1idsvalue2groupedName
1abcd1,2,3efgh1AB/2CD/3EF

内容的提问来源于stack exchange,提问作者Daniel Tengler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 20:39:19