Дублирующиеся строки с множественным объединением - PullRequest
2 голосов
/ 02 апреля 2019

Я использую этот код для объединения двух таблиц в таблице содержимого, а затем группировки по пользователю когда я присоединяюсь только к аналитической таблице, результат верен, и то же самое присоединяется только к таблице реакций но обе таблицы приводят к неверному результату в сумме и числе

->where('users.type_id', 2)
->leftJoin('contents', 'users.id', '=', 'contents.instructor_id')
->leftJoin('analytics', 'contents.id', '=', 'analytics.content_id')
->leftJoin('reactions', 'contents.id', '=', 'reactions.content_id')

->selectRaw('
    users.id as id,
    concat(users.name, "-", users.last_name) as name,
    sum(analytics.total_watched) as sum_watched,
    count(analytics.id) as times_watched,
    sum(analytics.completed=1) as completed_video,

    sum(reactions.reaction_type="love") as love,
    sum(reactions.reaction_type="happy") as happy,
    sum(reactions.reaction_type="thinking") as thinking,
    sum(reactions.reaction_type="sad") as sad,
    sum(reactions.reaction_type="angry") as angry                    
')
->groupBy('users.id')
->limit(10)
->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...