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
答案 0 :(得分:2)
d
中的 (select d.mov from d)
不是有效的表名。您是否尝试使用别名d在成员表中进行某种相关查询?
答案 1 :(得分:0)
mysql正在寻找绝对不存在的表d。
select name,family from member d
where mov in(select d.mov from member d);
d
无效,因为您无法将外部查询的别名用于内部查询(子查询)。您必须在子查询中重新定义表的别名。
答案 2 :(得分:0)
除了选择成员表中的所有行之外,忽略查询实际上没有做任何事情的事实,它不起作用的原因是你不能在子查询中使用外部别名“d”。试试这个:
SELECT name, family FROM member WHERE mov in (SELECT mov from member)