SELECT
m.id,
m. NAME,
m.`code`,
m.specification,
mt.`name` typeName,
m.unit,
ms.stocks,
SUM(mir.amount) allInNumber,
SUM(mor.amount) allOutNumber,
SUM(mrr.stockAmount) allReturnNumber
FROM
t_e_material_stock ms
LEFT JOIN t_e_material m ON ms.materialId = m.id
LEFT JOIN t_e_material_type mt ON ms.materialId = mt.id
LEFT JOIN t_e_material_in_record mir ON ms.materialId = mir.materialId
AND mir.nodeId = ms.nodeId
LEFT JOIN t_e_material_out_record mor ON ms.materialId = mor.materialId
AND mor.nodeId = ms.nodeId
LEFT JOIN t_e_material_return_record mrr ON ms.materialId = mrr.materialId
AND mrr.nodeId = ms.nodeId
WHERE ms.nodeId = 874
GROUP BY m.id
m.id,
m. NAME,
m.`code`,
m.specification,
mt.`name` typeName,
m.unit,
ms.stocks,
SUM(mir.amount) allInNumber,
SUM(mor.amount) allOutNumber,
SUM(mrr.stockAmount) allReturnNumber
FROM
t_e_material_stock ms
LEFT JOIN t_e_material m ON ms.materialId = m.id
LEFT JOIN t_e_material_type mt ON ms.materialId = mt.id
LEFT JOIN t_e_material_in_record mir ON ms.materialId = mir.materialId
AND mir.nodeId = ms.nodeId
LEFT JOIN t_e_material_out_record mor ON ms.materialId = mor.materialId
AND mor.nodeId = ms.nodeId
LEFT JOIN t_e_material_return_record mrr ON ms.materialId = mrr.materialId
AND mrr.nodeId = ms.nodeId
WHERE ms.nodeId = 874
GROUP BY m.id
你的意思是 原来用inner join 数据很少,现在用left join 就多吗