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

如何通过三对关联字段在SQL中连接两张数据表

实现借款人及两位居住人姓名的SQL连接查询

要获取包含借款人、两位居住人姓名的结果表,你需要多次关联Persons表——因为Loans里的Borrower_Id、resident1_id、resident2_id都对应Persons的Person_Id字段,每次关联给Persons表起不同的别名来区分角色。

核心SQL语句

SELECT
    -- 借款人姓名
    p_borrower.First_name AS Borrower_FirstName,
    p_borrower.Last_name AS Borrower_LastName,
    -- 第一位居住人姓名
    p_res1.First_name AS Resident1_FirstName,
    p_res1.Last_name AS Resident1_LastName,
    -- 第二位居住人姓名
    p_res2.First_name AS Resident2_FirstName,
    p_res2.Last_name AS Resident2_LastName
FROM
    Loans
-- 关联借款人信息
INNER JOIN Persons p_borrower
    ON Loans.Borrower_Id = p_borrower.Person_Id
-- 关联第一位居住人(用LEFT JOIN避免无居住人时丢失贷款记录)
LEFT JOIN Persons p_res1
    ON Loans.resident1_id = p_res1.Person_Id
-- 关联第二位居住人(同理用LEFT JOIN兼容空值场景)
LEFT JOIN Persons p_res2
    ON Loans.resident2_id = p_res2.Person_Id;

关键说明

  • 用别名(p_borrower、p_res1、p_res2)区分重复关联的Persons表,避免字段名冲突。
  • 如果存在resident1_id或resident2_id为空的情况,LEFT JOIN会保留贷款记录,对应空值字段显示为NULL;若确认所有居住人ID都存在,可替换为INNER JOIN。
  • 可按需在SELECT中添加Loans表的其他字段(如贷款编号、金额等)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 19:10:25