SingleStore中存储整数字符串的两表关联拼接名称实现方案
SingleStore 逗号分隔ID关联转名称拼接实现方案
你可以使用SingleStore内置的SPLIT_TO_TABLE表值函数完成需求,完整查询代码如下:
SELECT z.zooid, GROUP_CONCAT(a.animal ORDER BY s.ordinality SEPARATOR ', ') AS animals FROM zoo z -- 拆分逗号分隔的动物ID为多行 JOIN SPLIT_TO_TABLE(z.animals, ',') s ON TRUE -- 关联动物映射表,拆分后的值为字符串需转成数值 JOIN animals a ON a.animalid = CAST(s.table_value AS UNSIGNED) GROUP BY z.zooid ORDER BY z.zooid;
逻辑说明
SPLIT_TO_TABLE是SingleStore原生支持的表函数,输入待拆分字符串和分隔符,返回两个核心字段:table_value:拆分后得到的单个值ordinality:该值在原始字符串中的位置序号,用于保证拼接后顺序和原ID顺序一致
GROUP_CONCAT聚合函数指定按ordinality排序拼接,分隔符设置为,即可匹配期望的输出格式
内容的提问来源于stack exchange,提问作者Inedible_Sun
相关产品推荐
相关产品推荐

