Логично, что если сделать синтаксически неправильный запрос, то он работать не будет.
DISTINCT в MySQL относится ко всему результату выборки, так что он вам здесь не поможет.
Если у вас в таблице epg несколько записей с одинаковыми title и/или в таблице channel несколько записей с одинаковыми id_channel, то, естественно, что в выборке будут строки с одинаковыми title.
Хотите, чтобы их не было - делайте группировку по title, но тогда думайте, что делать с id_channel и epg_filename, для них нужно будет использовать какие-то агрегатные функции.
P.S. И не надо писать дополнения к вопросу в ответы. Для этого есть функция редактирования вопроса.