mysql> select name,family from member as d
where mov in(select d.mov from d);
.
ERROR 1146 (42S02): Table 'film.d' doesn't exist
mysql> select name,family from member as d
where mov in(select d.mov from d);
.
ERROR 1146 (42S02): Table 'film.d' doesn't exist
d
は(select d.mov from d)
有効なテーブル名ではありません。ここでエイリアス d を使用して、メンバー テーブルに対してある種の相関クエリを実行しようとしていますか?
メンバー テーブル内のすべての行を選択する以外にクエリが実際には何もしないという事実を無視すると、クエリが機能しない理由は、サブクエリ内で外部エイリアス 'd' を使用できないためです。これを試して:
SELECT name, family FROM member WHERE mov in (SELECT mov from member)
mysql は、絶対に存在しないテーブル d を探しています。
select name,family from member d
where mov in(select d.mov from member d);
d
外部クエリのエイリアスを内部クエリ(サブクエリ)に使用できないため、無効です。サブクエリでテーブルのエイリアスを再定義する必要があります。