LEFT JOIN查询不返回第一个表中的所有行

Jai*_*rte 0 sql left-join

使用管理工作室SQL Server 2008 R2.

尝试做一个LEFT JOIN,我需要返回第一个表中的所有行,无论行能够与第二个表绑定.不确定我是否正确解释.

这就是我现在所得到的:

select a.id, a.name, b.store, b.stock
from products a left join stock b
on a.id = b.id
where b.store = '001'
order by a.id
Run Code Online (Sandbox Code Playgroud)

我需要查询返回公司销售的所有产品,并在商店中显示它的库存001.

但它现在的方式只会显示存储中提到产品库存的行001.

所以,基本上,0如果001没有提到商店,我需要查询返回库存.

所有只有库存商品的产品也002需要列出,并附有0库存.

jar*_*rlh 11

移动从B条件WHERE,以ON获得真正的LEFT JOIN.(使用WHERE子句中的b条件,它作为常规执行inner join...)

select a.id, a.name, b.store, b.stock
from products a left join stock b
  on a.id = b.id and b.store = '001'
order by a.id
Run Code Online (Sandbox Code Playgroud)