エラーは明らかです。サブクエリの終了後にサブクエリのエイリアスを作成する必要があります)
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
でこれらの列の1つを使用している場合 、the_alias.movie_name
から参照してください たとえば。
要件をよりよく理解した後で更新します:
参加するグループごとに1つを取得するには、集約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