mysql,通过会员有多少个订单,有多少个检查单

通过下面这个sql查询会员信息,并且查询出会员有多少订单,和有多少检查单一并查询汇总到个人信息上,通过下面sql查询会出现,如果一个会员有3个订单,2个检查单,count出来的结果就是2*3,两个count结果都是一样的是6,请大牛帮忙如何写这个sql?
select m.*,count(oo.id),count(dada.id)
from members m
left join orders oo on(m.id=oo.member_id)
left join diagnose_applys dada on(m.id=dada.member_id)
group by m.id;

    首先,处理数据你要先清楚你的数据结构是什么样的,再弄懂你写的sql是什么意思。你写的那个sql的意思,就是把那三张表先关联,再做汇

总,三个表先关联的话,如果你的关联条件不是唯一键,那么肯定会出现数据翻倍的情况,也就是笛卡尔积,也就是你说的 2乘3等于6 的情
况。
我可以肯定,你的m表数据粒度应该是到个人,你的oo表和dada表数据粒度应该是到每一单。所以sql如下。

SELECT
 a.*, b. ORDER,
 c.checklist
FROM
 members a
LEFT JOIN (
 SELECT
  p.member_id,
  count(1) ORDER
 FROM
  orders p
 GROUP BY
  p.member_id
) b ON a.id = b.member_id
LEFT JOIN (
 SELECT
  t.member_id,
  count(1) checklist
 FROM
  diagnose_applys t
 GROUP BY
  t.member_id
) c ON a.id = c.member_id;