Chyba je jasná – stačí vytvořit alias pro poddotaz po jeho uzavření ) a použijte jej ve vašem ON klauzule, protože každá tabulka, odvozená nebo skutečná, musí mít svůj vlastní identifikátor. Poté budete muset zahrnout movie_id ve výběrovém seznamu poddotazu, abyste se k němu mohli připojit. Protože poddotaz již obsahuje WHERE popularity = 0 , nemusíte jej zahrnout do ON spojení doložka.
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
Pokud používáte jeden z těchto sloupců ve vnějším SELECT , odkazujte na něj prostřednictvím the_alias.movie_name například.
Aktualizujte po lepším pochopení požadavku:
Chcete-li získat jednoho pro každou skupinu, ke kterému se můžete připojit, můžete použít souhrnnou hodnotu MAX() nebo MIN() na movie_id a seskupit jej v poddotazu. Žádný dílčí dotaz LIMIT je pak nutné -- obdržíte první movie_id na jméno s MIN() nebo poslední s 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