1、正常的MySQL关联表求和方式:
SELECT
biz.id AS id,
sum( item.weight ) AS prog
FROM
oa_crm_biz biz
LEFT JOIN oa_crm_biz_item item ON biz.id = item.biz_id
WHERE
item.item_status = 1
GROUP BY
biz.id
显示结果:
问题:oa_crm_biz 中的数据远不止这些,发现sum求和为空的时候并没有给显示出来,最后想想只能再包一层
2、最终写法
SELECT
a.id as id,
IFNULL(b.prog,0) as prog
FROM
oa_crm_biz a
LEFT JOIN (
SELECT
biz.id as id,
sum( item.weight ) as prog
FROM
oa_crm_biz biz
LEFT JOIN oa_crm_biz_item item ON biz.id = item.biz_id
WHERE
item.item_status = 1
GROUP BY
biz.id
) b on a.id = b.id
想要的显示结果