我想要所有的记录使用左连接从选项卡;LE1,表2和表3的四月份,也在城市=伦敦。我期望最终结果中有2条记录,第一条记录=伦敦,第二条记录为空。
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,但使用下面的查询没有得到想要的结果。让我知道如何纠正它。
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'发布于 2021-10-21 09:14:39
您不能在where子句中过滤在左连接中连接的表(在本例中是表b和c)。每个需要应用于这些表的筛选器都应该放在on子句中,否则简单的连接就变成了内部连接。例如。
left join table2 as b on (a.id = b.id and b.month = ‘April’)发布于 2021-10-21 09:24:21
使用joins的简单方法。我经常看这个图表。

https://stackoverflow.com/questions/69659052
复制相似问题