Грешката е ясна - просто трябва да създадете псевдоним за подзаявката след нейното затваряне ) и го използвайте във вашия ON клауза, тъй като всяка таблица, извлечена или реална, трябва да има свой собствен идентификатор. След това ще трябва да включите movie_id в списъка за избор на подзаявката, за да можете да се присъедините към нея. Тъй като подзаявката вече включва WHERE popularity = 0 , не е необходимо да го включвате в ON на присъединяването клауза.
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
Ако използвате една от тези колони във външния SELECT , препратете към него чрез the_alias.movie_name например.
Актуализация, след като разберете по-добре изискването:
За да получите по един на група, срещу която да се присъедините, можете да използвате обобщен MAX() или MIN() на movie_id и го групирайте в подзаявката. Няма подзаявка LIMIT тогава е необходимо - ще получите първия movie_id на име сMIN() или последният с 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