У меня есть Акты пользователей, которые присоединились к группам по членству в базе данных PostgreSQL.
У меня есть запрос на генерацию строк для таблицы лидеров. Однако в настоящее время он исключает пользователей, в которых таблица Acts не содержит строки с соответствующим users_id
. Я хочу включить всех членов группы, даже тех, кто имеет 0 актов.
Текущий запрос:
SELECT acts.users_id, username, avatar_url, COUNT(acts.id)
FROM acts
JOIN users ON acts.users_id = users.id
JOIN memberships on memberships.users_id = users.id
WHERE memberships.groups_id = ' + req.params.group_id + '
AND acts.created_at >= (CURRENT_DATE - 6)
GROUP BY acts.users_id, username, avatar_url
ORDER BY COUNT(acts.id) DESC
Я пытался изменить JOIN
перед пользователями на RIGHT JOIN
и LEFT JOIN
, но я получаю тот же результат. В какой-то момент я думаю, что RIGHT JOIN
работал, но каким-то образом я ошибся.