为什么mysql查询失败

|
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 
    
已邀请:
子查询
(select d.mov from d)
中的
d
不是有效的表名。您是否在尝试通过使用别名d在成员表中进行某种相关查询?     
mysql正在寻找表d,它绝对不存在。
select name,family from member d 
 where mov in(select d.mov from member d);  
d
无效,因为您不能对外部查询(子查询)使用外部查询的别名。您必须在子查询中重新定义表的别名。     
忽略查询除了选择成员表中的所有行之外实际上不执行任何操作的事实,之所以不起作用,是因为您不能在子查询中使用外部别名\ d。尝试这个:
SELECT name, family FROM member WHERE mov in (SELECT mov from member)
    

要回复问题请先登录注册