Acho que você precisa do GROUP_CONCAT
Faça algo assim:-
SELECT
movies.*,
group_concat(links.link ', ') as links
FROM movies
LEFT JOIN links
ON links.movieid = movies.movieid
GROUP BY movies.movieid
Você receberá uma lista de links separados por vírgulas para cada filme. Que você pode extrair assim:-
foreach ($movies->result() as $row) {
$linksArray = explode(",",$row->links);
}
Atualizações Acho que esta é a única maneira de obter os resultados sem ter várias linhas de resultados para um único filme com vários links.
Apenas tome cuidado com o comprimento máximo de caracteres que você pode obter no resultado - por padrão, 1024 caracteres. Leia istoMysql group_concat_max_length e Comprimento máximo de concat do grupo saber como ultrapassar o limite.
E como Dan Grossman apontou, se você achar que os links podem conter vírgulas, use um delimitador diferente ou incomum.