我正在尝试使用parts表中的描述输出inventory表中的所有行。以下是表格:
库存表
零件表
我想要的是让所有输出库存行中的所有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
请帮忙。
答案 0 :(得分:1)
您应该将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