0
我有一个查询:不使用时,右侧为空当 - 左加入的问题
Select a.Col1,b.Col2
From a
Left Join B b ON a.C = b.C
Where b.D ='someValue'
但是,当右侧是空的,我没有得到记录,所以左连接不起作用。
你知道如何改变这个查询来纠正查询吗?
我有一个查询:不使用时,右侧为空当 - 左加入的问题
Select a.Col1,b.Col2
From a
Left Join B b ON a.C = b.C
Where b.D ='someValue'
但是,当右侧是空的,我没有得到记录,所以左连接不起作用。
你知道如何改变这个查询来纠正查询吗?
移动的附加连接条件到上子句:
Select a.Col1,b.Col2
From a
Left Join B b ON a.C = b.C and b.D = 'someValue'
由于where子句,右侧为空时,查询将不返回任何内容。如果没有引用表b,则不会满足where子句。
我不太清楚如何更正您的查询。在我看来,这个查询暗示两个表之间的链接是必需的,因此你的结果在语义上是正确的。
是的,或使用条件'WHERE b.D = 'someValue中' OR b.D IS NULL' – Unreason 2010-10-11 14:47:11