【发布时间】:2017-04-25 10:00:36
【问题描述】:
Table 1(Validproduct): Table 2(Registredproduct):
ProductId Name ID ProductId Quantity REGISTRATIONID
1 chair 1 2 10 1111
2 table 2 2 11 2222
3 desk
我正在寻找的是客户 ID 1111 的以下结果
Name Quantity
Table 10
Chair 0
Desk 0
我试过了,但它只给了我注册产品中存在的产品
SELECT vp.name as 'Product', rp.quantity as 'quantity'
FROM Validproduct vp
Left JOIN RegistrationProduct rp on
vp.ValidproductID = rp.ValidproductID
WHERE REGISTRATIONID = 1111
enter code here
得到这个结果
Name Quantity
Table 10
【问题讨论】:
-
Left JOIN RegistrationProduct rp on vp.ValidproductID = rp.ValidproductID AND rp.REGISTRATIONID = 1111
-
将
where更改为AND,以便在加入之前应用过滤器。 where 子句出现在连接之后,并从左连接中消除空记录;实际上使左连接成为内部连接。 -
您的 where 子句将外连接变为内连接。在连接的 on 子句中包含条件。