• + 1 comment

    MySQL:

    select con.contest_id, hacker_id, name, sum(ts), sum(tas),sum(tv),sum(tuv) from contests con
    inner join colleges col on con.contest_id=col.contest_id
    inner join challenges chal on col.college_id=chal.college_id
    left join 
    (   select Challenge_id, sum(total_views) tv, sum(total_unique_views) tuv
        from view_stats group by challenge_id 
    ) as viewS on chal.challenge_id=viewS.challenge_id
    left join 
    (   select Challenge_id, sum(total_submissions) ts, sum(total_accepted_submissions) tas 
        from Submission_Stats group by challenge_id
    ) as ss on chal.challenge_id=ss.challenge_id
    group by con.contest_id, hacker_id, name
    having sum(ts)+sum(tas)+
    sum(tv)+sum(tuv)>0
    order by con.contest_id;