Грешката е ясна - просто трябва да създадете псевдоним за подзаявката след нейното затваряне )
и го използвайте във вашия 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