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

Customer表自连接查询异常:无法获取正确关联CompanyName的解决建议

问题分析与解决方案

问题根源

你的查询存在两个关键错误:

  1. 子查询的关联逻辑写反了:原语句里用ChainCode = No_,但实际需要匹配子查询表的No字段等于主查询表的ChainCode字段
  2. 字符串常量未加单引号:CD01是字符串类型值,直接写在WHERE条件里会被数据库识别为字段名,而非目标常量

正确查询语句

方式一:关联子查询

SELECT 
    No,
    Name,
    ChainCode,
    (SELECT Name FROM Customer c2 WHERE c2.No = c1.ChainCode) AS CompanyName
FROM Customer c1
WHERE No = 'CD01'

方式二:LEFT JOIN(可读性更强)

SELECT 
    c1.No,
    c1.Name,
    c1.ChainCode,
    c2.Name AS CompanyName
FROM Customer c1
LEFT JOIN Customer c2 ON c2.No = c1.ChainCode
WHERE c1.No = 'CD01'

效果说明

执行上述任一语句后,CompanyName字段会正确返回MAIN-TOYOTA,因为主查询中CD01的ChainCode值CD02,会关联到Customer表中No为CD02的记录的Name字段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 15:22:08