我有一个连接两个表定义为左外连接,以便所有记录从左手表返回,即使它们在右手表中没有记录.但是我还需要在右侧表格的字段中包含一个where子句,但是......我仍然想要为左侧表格中的每个记录返回左侧表格中的一行,即使不满足where子句中的条件.有办法做到这一点吗?
Cha*_*ana 21
是的,将条件(称为谓词)置于连接条件中
Select [stuff]
From TableA a
Left Join TableB b
On b.Pk = a.Pk
-- [Put your condition here, like this]
And b.Column = somevalue
Run Code Online (Sandbox Code Playgroud)
Mar*_*ith 10
您只需将谓词置于JOIN条件中即可.将它放入WHERE子句将有效地将您的查询转换为内部联接.
例如:
...
From a
Left Join b on a.id = b.id and b.condition = 'x'
Run Code Online (Sandbox Code Playgroud)