不使用右侧为空时的位置 - 左连接问题

时间:2010-10-11 11:51:23

标签: sql sql-server-2005

我有一个问题:

Select a.Col1,b.Col2
From a
Left Join B b ON a.C = b.C
Where b.D ='someValue'

但是当右侧为空时,我没有记录,所以左连接不起作用。

您知道如何更改此查询以更正查询吗?

2 个答案:

答案 0 :(得分:5)

将附加连接条件移动到on子句:

Select a.Col1,b.Col2
From a
Left Join B b ON a.C = b.C and b.D = 'someValue'

答案 1 :(得分:0)

由于您的where子句,右侧为null时,查询不返回任何内容。如果没有引用表b,则不会满足where子句。

我不太确定如何更正您的查询。在我看来,这个查询暗示了两个表之间的链接是必需的,因此你的结果在语义上是正确的。

相关问题