我正在尝试输出库存表中的所有行以及零件表中的描述。以下是表格:
库存表
零件表
我想要的是从库存行中输出所有 SKU,这些行具有特定的 orderNumber 及其旁边的 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
code> 在其字段上
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
关于mySQL 查询 LEFT OUTER JOIN 不显示 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44029385/