Примеры данных и результатов, которые вы получаете, были бы полезны.
Но, исходя из того, что я могу почерпнуть из вашего вопроса, я думаю, что ваша проблема будет решена простым добавлением DISTINCT.
например, вместо SELECT ProductId, ProductName, MediaId, MediaName ... do SELECT DISTINCT ProductId, ProductName, MediaId, MediaName
Без отдельного вы получаете все связанные строки между двумя таблицами.С DISTINCT вы получите только уникальных комбинаций выбранных полей.