2015-01-21 81 views
0

我得到一个MySQL的#1054 - 在未知列'foo.column1 'where子句'

#1054 - 未知列 'foo2.column2' 在 'where子句'

为以下查询。

CREATE TABLE foo AS 
SELECT * FROM foo1 
WHERE EXISTS 
(SELECT * FROM foo1 
WHERE foo1.column1= foo2.column2) 

列foo2.column2的存在,因为我可以通过其他查询访问它。

+1

你是不是要在子选择中写'from foo2'? – 2015-01-21 10:19:58

+0

您不要在任何FROM子句中声明foo2。 – 2015-01-21 10:20:09

回答

1

您在子查询中再次写入了foo1而不是foo2。
此外,我会建议使用连接查询,而不是像下面的SELECT

CREATE TABLE foo AS 
SELECT * FROM foo1 JOIN foo2 ON foo1.column1= foo2.column2 
0

didn't provide foo2 table in FROM Clause of your query。在最内层的子查询位置应该是foo2 instead of foo1

CREATE TABLE foo AS 
SELECT * FROM foo1 
WHERE EXISTS 
(SELECT * FROM foo2 
WHERE foo1.column1= foo2.column2) 
相关问题