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

如何在JOIN查询中获取同一字段的多条记录:信件作者与收件人信息

解决SQL关联同表时列名歧义的问题

你遇到的错误根源是两次关联同一个people表却未做标识,数据库无法区分firstName、lastName属于哪一次关联的表;同时查询结果里重复的列名也会造成混淆。解决步骤如下:

正确SQL语句

SELECT 
    letters.date, 
    letters.type, 
    letters.description,
    author_p.firstName AS author_firstName,
    author_p.lastName AS author_lastName,
    recipient_p.firstName AS recipient_firstName,
    recipient_p.lastName AS recipient_lastName
FROM letters
INNER JOIN people AS author_p 
    ON letters.authorId = author_p.ROWID
INNER JOIN people AS recipient_p 
    ON letters.recipientId = recipient_p.ROWID

核心修正点

  • 给两次关联的people表分别设置别名(author_p代表作者表,recipient_p代表收件人表),让数据库能区分同一张表的两次关联
  • 通过别名.列名的方式明确指定查询列的来源,彻底消除列名歧义
  • 给作者、收件人的名字列设置不同的别名,确保查询结果的列名清晰无重复
  • 修正了你原语句中recipient的拼写错误(应为recipientId)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 22:21:39