繁体   English   中英

MySQL查询LEFT OUTER JOIN不显示空

[英]mySQL query LEFT OUTER JOIN not showing null

我正在尝试输出清单表中的所有行以及零件表中的描述。 表格如下:

库存表

库存表

零件表

在此处输入图片说明

我想要的是从清单行中具有特定orderNumber的所有SKU全部输出,并在其旁边显示SKU的说明。 如果库存SKU与零件SKU不匹配,则我想将其描述输出为NULL。

这是我现有的查询:

SELECT * FROM inventory LEFT OUTER JOIN parts ON inventory.sku = parts.sku AND parts.description IS NULL WHERE orderID = $orderID

请帮忙。

您应该将parts.description IS NULL条件移至where子句,因为在连接时,右表上的所有行的字段中都不为null

SELECT  *
FROM    inventory
LEFT OUTER JOIN
        parts
ON      inventory.sku = parts.sku
WHERE   orderID = $orderID AND
        parts.description IS NULL 

编辑

更好地阅读您的需求,似乎您希望左表中的所有行,无论它们在右表中是否匹配。 如果是这样,您可以完全摆脱这种情况

SELECT  *
FROM    inventory
LEFT OUTER JOIN
        parts
ON      inventory.sku = parts.sku
WHERE   orderID = $orderID

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM