栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

LEFT JOIN返回与INNER JOIN相同的结果

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

LEFT JOIN返回与INNER JOIN相同的结果

因为您没有使用on子句。更改为:

SELECt a.`BW Parent Number`, a.`Vendor Name`, b.`Parent Supplier Name`  FROM scrubs AS a  LEFT OUTER JOIN pdwspend AS b    ON a.`BW Parent Number` = b.`Child Supplier ID`   and b.`BU ID` = 'BU_1'   AND b.`version` LIKE '%GOV%' WHERe a.`year` = 2014

同样,分组依据也没有任何意义。如果您正在汇总某些内容,则可以使用group by子句。

根据您对重复行的评论,这可能是因为名为“ pdwspend”的表的每个“子供应商ID”都有多个行。这是该表上您要与之关联的“
scrubs”表的唯一字段。因此,是的,对于pdwspend上的每个匹配行,您将拥有与第二张表相同的行(该表上可能还有其他列,因此它们实际上不是“重复的”行,您只是没有选择足以说明的列)。

因为您只对选择的列数感兴趣,并且不希望基于这些列“重复”行,所以可以尝试使用以下方法来区分:

(您在注释中输入的查询中出现错误的原因是,因为内联视图(from子句中的子查询)未选择“父供应商名称”字段,所以是的,在该字段中不存在内联视图,因为您没有将其添加到该内联视图的选择列表中。

     select a.`BW Parent Number`, a.`Vendor Name`, b.`Parent Supplier Name`       from scrubs a  left join ( select distinct `Child Supplier ID`, `Parent Supplier Name`   from pdwspend  where `BU ID` = 'BU_1'    and `version` LIKE '%GOV') b         on a.`BW Parent Number` = b.`Child Supplier ID`      where a.`year` = 2014


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/634609.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号