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

一对多关联多表查询:如何拆分显示收发方客户姓名列

解决方案

要分别展示发件人和收件人的姓名,你需要两次关联client表,给每次关联的表设置不同别名,对应不同的连接条件即可:

SELECT 
    sender_client.Name_client AS sender_name,
    recipient_client.Name_client AS recipient_name,
    -- 可按需添加shipment、employee的其他字段
    shipment.*,
    employee.*
FROM package
JOIN shipment ON package.Shipment_ = shipment.ShipmentID
JOIN client AS sender_client ON sender_client.AccountNumber = package.sender
JOIN client AS recipient_client ON recipient_client.AccountNumber = package.recipient
JOIN employee ON employee.employeeID = shipment.manager;

关键说明:

  • 原查询用OR关联client表会导致单条package数据生成两条重复结果,且无法区分收发方姓名列;两次独立关联能在同一行同时展示双方信息
  • 通过别名sender_client和recipient_client区分两次关联的client表,分别匹配package的sender和recipient字段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 21:30:50