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

SQLite多表关联查询如何拼接多联系人信息到单个单元格

SQLite 多表关联合并查询语句

你可以直接使用以下查询实现需求:

SELECT 
    d.*,
    r.account,
    r.state,
    GROUP_CONCAT(printf('%s(%s)', IFNULL(c.name, '未知姓名'), IFNULL(c.email, '无联系方式')), ',') AS contacts_info
FROM Data d
LEFT JOIN Results r ON d.results_id = r.id
LEFT JOIN Contacts_list cl ON d.contact_id = cl.id
LEFT JOIN Contacts c ON cl.contact_id = c.id
GROUP BY d.id

逻辑说明

  • 所有关联均使用LEFT JOIN,确保Data表的全量数据都被保留,不会因为关联不到其他表的记录而丢失行,最终输出行数和Data表原始行数完全一致
  • 用printf函数将联系人姓名和邮箱拼接为要求的「姓名(邮箱)」格式,IFNULL用于处理字段为空的异常场景,你可以根据实际业务调整默认值
  • SQLite内置的GROUP_CONCAT函数会将同一条Data记录对应的多个联系人信息用英文逗号拼接为单个字符串,符合输出要求
  • 最终按Data表的主键id分组,保证每条Data记录只对应一行结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 22:39:03