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

SQL如何关联查询同一张Customer表中客户对应的开票方信息?

样例表

解决方案

你需要用自连接实现同表关联匹配,逻辑是将Customer表分别取别名作为客户主表、开票方附表,通过bill_to_customer和customer_id的关联关系取出开票方信息。

示例SQL

SELECT
  -- 可按需保留当前客户的其他字段
  c.customer_id 当前客户ID,
  c.customer_name 当前客户名称,
  -- 取关联到的开票方信息
  bt.customer_name 开票方名称,
  bt.address 开票方地址,
  bt.country 开票方国家
FROM Customer c
LEFT JOIN Customer bt 
  ON c.bill_to_customer = bt.customer_id;

说明

  • 使用LEFT JOIN而不是INNER JOIN,是为了避免部分客户bill_to_customer值无效/为空时,当前客户的整条记录被过滤,如果确认所有客户的开票方ID都能匹配到有效记录,可以替换为INNER JOIN
  • 该逻辑天然支持customer_id与bill_to_customer相等的场景,也就是客户自身为开票方时也可以正常返回对应信息

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 15:09:03