MySQL查询未选择所有行

MySQL查询未选择所有行,mysql,Mysql,我对以下查询有问题。未选择s1_pm_po_物料中没有s1_pm_po_物料值的行。成本代码。我错过了什么 SELECT s1_pm_po_item.id, s1_pm_costcode.CostCode AS CostCode, s1_pm_po_item.description AS Description, CONCAT( s1_pm_po_item.QtyOrdered, s1_pm_po_item_units.description ) AS QtyOrdered, FORMAT( s

我对以下查询有问题。未选择s1_pm_po_物料中没有s1_pm_po_物料值的行。成本代码。我错过了什么

SELECT s1_pm_po_item.id, s1_pm_costcode.CostCode AS CostCode, s1_pm_po_item.description AS Description, CONCAT( s1_pm_po_item.QtyOrdered, s1_pm_po_item_units.description ) AS QtyOrdered, FORMAT( s1_pm_po_item.UnitPrice, 2 ) AS UnitPrice, FORMAT( QtyOrdered * UnitPrice, 2 ) AS Amount
FROM s1_pm_po_item
INNER JOIN s1_pm_budget_class ON s1_pm_budget_class.id = s1_pm_po_item.CostCode
INNER JOIN s1_pm_budget_item ON s1_pm_budget_item.id = s1_pm_budget_class.BudgetItem
INNER JOIN s1_pm_costcode ON s1_pm_costcode.id = s1_pm_budget_item.CostCode
INNER JOIN s1_pm_po_item_units ON s1_pm_po_item_units.id = s1_pm_po_item.QtyUnit
WHERE s1_pm_po_item.POID =924

在第一个
JOIN
语句中使用
LEFT JOIN
。如果他们没有
CostCode
,则此联接将失败:
内部联接s1\U pm\U budget\u类上的s1\U pm\U budget\u类。id=s1\U pm\U po\U item.CostCode
。将这些更改为左外连接,然后重新运行。太好了!左外连接工作正常。非常感谢。