MySQL JOIN未按预期工作,关联查询无匹配结果求助
MySQL JOIN无匹配结果的修复方案
你的语句返回0匹配结果的核心问题是ON子句里的字段被错误用单引号包裹——SQL里单引号代表字符串常量,你实际是在比较两个固定字符串'A.UNIQUE ID'和'R.ID',这两个值永远不相等,自然不会产生匹配。
正确的SQL写法
如果awsectionals表的关联字段是不带空格的UNIQUE_ID,直接使用:
SELECT * FROM rbdbase R JOIN awsectionals A ON A.UNIQUE_ID = R.ID;
如果字段名确实是带空格的UNIQUE ID(MySQL允许带空格的字段名,但需要用反引号包裹):
SELECT * FROM rbdbase R JOIN awsectionals A ON A.`UNIQUE ID` = R.ID;
执行以上语句后,INNER JOIN会返回两表中ID匹配的合并行;LEFT JOIN会保留rbdbase的所有数据,匹配到的awsectionals字段正常展示;RIGHT JOIN则保留awsectionals的所有数据,未匹配的rbdbase字段为NULL,完全符合你需要的合并效果。
内容的提问来源于stack exchange,提问作者Zander Land
相关产品推荐
相关产品推荐

