У мне имеется 4 таблицы:
User: id, username
Results: id, user_id, time
Penalty: id, user_id, time
Coin: id, coin_id, user_id
user_id везде ссылается на таблицу User
Мне нужно получить всех пользователей, у которых есть username, сумму Results.time, сумму Penalty.time и кол-во монет.
Но у меня при join данные в таблице множатся и я никак не могу понять, как правильно составить запрос, чтобы данные правильно группировались
SELECT u.id, SUM(r.time), SUM(pen.time), COUNT(coin) FROM public.user u
LEFT JOIN public.results r ON (u.id = r.user_id_id)
LEFT JOIN public.penalty pen ON (u.id = pen.user_id_id)
LEFT JOIN public.coin coin ON (u.id = coin.user_id_id)
WHERE u.username IS NOT NULL
GROUP BY u.id