Предложението на X-Zero за добавяне на „кредит на качващия“ към данните е най-добрият начин да запазите заявката проста. Ако това не е опция, направете вътрешно свързване между userprofile_videoinfo и userprofile_videocredit, за да улесните премахването на дубликати:
SELECT u.id, u.full_name, COUNT(DISTINCT v.video_id) as credit_count
FROM userprofile_userprofile u
LEFT JOIN (SELECT vi.video_id, vi.uploaded_by_id, vc.profile_id as credited_to_id
FROM userprofile_videoinfo vi
JOIN userprofile_videocredit vc ON vi.id = vc.video_id
) v ON u.id = v.uploaded_by_id OR u.id = v.credited_to_id
GROUP BY u.id, u.full_name
ORDER BY credit_count DESC
Подзаявката може да бъде полезна за създаване като изглед.