У меня есть три таблицы company_m
, client_m
, companyuser_m
company_m
CompanyID CompName
----------+-----------
7 Comp3
8 Comp2
9 Comp1
10 Company
11 Company4
client_m
clid AttachToCompanyID clname
-----+--------------------+------
1 7 client1
2 7 client2
6 8 client3
companyuser_m
uid CompanyID uname
---+---------+-------
1 7 user1
2 10 user2
Моя цель
Мне нужно получить счет всех клиентов и пользователей соответствующей компании
Ожидаемый результат
CompanyID CompName clientcount usercount
---------+-----------+--------------+--------
7 Comp3 2 1
8 Comp2 1 0
9 Comp1 0 0
10 Company 3 0 1
11 Company4 0 0
Мой код
select company_m.CompanyID,company_m.CompName,
count(client_m.AttachToCompanyID) as clientcount ,
count(companyuser_m.CompanyID) as usercount from company_m
left join client_m on client_m.AttachToCompanyID=company_m.CompanyID
left join companyuser_m on companyuser_m.CompanyID=company_m.CompanyID
group by company_m.CompanyID
Но приведенный выше код не дает правильного вывода.
проверьте мою скрипку