首先介绍一下表结构和背景;
有两个数据库表,供应商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的表别名称