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