子查询关联条件字段没有指定表的别名导致的查询结果不正确的问题

首先介绍一下表结构和背景;

 有两个数据库表,供应商XX任务主表和供应商等级变更记录表; 等级表里面有多个任务,两张表是通过同名称的字段,supplier_id关联;

 

 

①SQL是XX任务表关联供应商等级表,结果是A+,实际是D等级,

②SQL是查询的结果是A+等级;

③SQL是比②SQL多了一个条件带了supplier_id的SQL 结果是D等级;

 

分析①SQL结果出现的问题,关联条件指定有问题,          AND b.supplier_id = supplier_id,这个子查询关联supplier_id的是关联到自己了,相当于每个结果的等级都是关联的 “等级表的第一条数据”,

解决方案:就是加上关联的supplier_id的表别名称

 

posted @ 2024-12-16 11:00  _Phoenix  阅读(23)  评论(0)    收藏  举报