O erro é claro - você só precisa criar um alias para a subconsulta após o fechamento
) e use-o em seu ON cláusula, pois toda tabela, derivada ou real, deve ter seu próprio identificador. Em seguida, você precisará incluir movie_id na lista de seleção da subconsulta para poder ingressar nela. Como a subconsulta já inclui WHERE popularity = 0 , você não precisa incluí-lo no ON da junção cláusula. LEFT JOIN (
SELECT
movie_id,
movie_name
FROM movies
WHERE popularity = 0
ORDER BY movie_name
LIMIT 1
) the_alias ON t1.movie_id = the_alias.movie_id
Se você estiver usando uma dessas colunas no
SELECT externo , faça referência a ele por meio de the_alias.movie_name por exemplo. Atualize depois de entender melhor o requisito:
Para obter um por grupo para se juntar, você pode usar um agregado
MAX() ou MIN() no movie_id e agrupe-o na subconsulta. Sem subconsulta LIMIT é necessário -- você receberá o primeiro movie_id por nome com MIN() ou o último com MAX() . LEFT JOIN (
SELECT
movie_name,
MIN(movie_id) AS movie_id
FROM movies
WHERE popularity = 0
GROUP BY movie_name
) the_alias ON t1.movie_id = the_alias.movie_id