2015-01-21 36 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) 
相關問題