You need to enable JavaScript to run this app. SQL中如何关联两张表多列,同时获取买家与卖家的名称?
优惠活动
大模型
产品
解决方案
定价
更多

SQL中如何关联两张表多列,同时获取买家与卖家的名称?

正确实现SQL

你需要对test_user表做两次别名关联,分别对应卖家、买家两个身份,即可同时返回两个名称字段:

SELECT 
    ti.*,
    u_seller.name AS seller_name,
    u_buyer.name AS buyer_name
FROM test_info ti
-- 第一次关联用户表,匹配卖家ID
LEFT JOIN test_user u_seller ON ti.sellerId = u_seller.id
-- 第二次关联用户表,匹配买家ID
LEFT JOIN test_user u_buyer ON ti.buyerId = u_buyer.id;

说明

  • 你之前写法里的test_table属于笔误,实际业务表名为test_info
  • 这里使用LEFT JOIN是为了避免sellerId/buyerId为空、或者对应ID在用户表不存在时,整行交易数据被过滤;如果你能确认两个ID一定存在对应用户,可以换成INNER JOIN
  • 别名可以自定义,只要区分开两次关联的用户表即可,取name字段时必须加别名前缀,否则会报字段冲突错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 11:45:03