У меня есть 3 таблицы user
, person
и company
.
user_id
- это foreign key
в таблицах person
и company
.
что я хочу сделатьчтобы подсчитать, сколько людей и компаний связано с каждым пользователем, поэтому я выполнил следующий запрос:
select u.id , u.username, count(c.user_id) as count_company, count(p.user_id) as count_people
from user u left join company c on (u.id = c.user_id)
left join person p on (u.id = p.user_id)
group by u.id, u.username
но я получаю неправильный результат !!
Это результат, который яполучить:

однако, когда я пытаюсь подсчитать только компании, связанные с каждым пользователем, используя этот запрос:
select u.id , u.username, count(c.staff_user_id) as count_company
from fos_user u left join company c on (u.id = c.staff_user_id)
group by u.id, u.username
Я получаю этот результат:
что мне здесь не хватает?