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