首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我正在尝试使用left join,使用的条件很少,我得到的结果是inner而不是left join。请在squirrel-sql中更正我的查询

我正在尝试使用left join,使用的条件很少,我得到的结果是inner而不是left join。请在squirrel-sql中更正我的查询
EN

Stack Overflow用户
提问于 2021-10-21 09:08:03
回答 2查看 55关注 0票数 0

我想要所有的记录使用左连接从选项卡;LE1,表2和表3的四月份,也在城市=伦敦。我期望最终结果中有2条记录,第一条记录=伦敦,第二条记录为空。

代码语言:javascript
复制
    Table1                Table2                table3      
    id      amt month       id      ac      month       ac      city    month
    A123    400 April       A123    ac11    April       ac11    london  April
    A124    500 April       A124    ac12    April       ac12    milan   April
    A123    600 May         A123    ac11    May         ac11    london  May
    A124    700 May         A124    ac12    May         ac12    milan   May



Desired Result              
Table3              
id      amt ac      city    month
A123    400 ac11    london  April
A124    500 ac12            April



 Actual Result              
Table3              
id      amt ac      city    month
A123    400 ac11    london  April

我正在使用squirrel sql,但使用下面的查询没有得到想要的结果。让我知道如何纠正它。

代码语言:javascript
复制
select a.id, a.amt, b.ac, c.city, a.month from table1 as a 
left join table2 as b on a.id=b.id 
left join table3 as c on b.ac=c.ac 
where a.month = 'April' and b.month = 'April'  c.month = 'April' 
and c.city = 'london'
EN

回答 2

Stack Overflow用户

发布于 2021-10-21 09:14:39

您不能在where子句中过滤在左连接中连接的表(在本例中是表b和c)。每个需要应用于这些表的筛选器都应该放在on子句中,否则简单的连接就变成了内部连接。例如。

代码语言:javascript
复制
left join table2 as b on (a.id = b.id and b.month = ‘April’)
票数 0
EN

Stack Overflow用户

发布于 2021-10-21 09:24:21

使用joins的简单方法。我经常看这个图表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69659052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档