我得到一个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的存在,因为我可以通过其他查询访问它。
我得到一个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的存在,因为我可以通过其他查询访问它。
您在子查询中再次写入了foo1而不是foo2。
此外,我会建议使用连接查询,而不是像下面的SELECT
。
CREATE TABLE foo AS
SELECT * FROM foo1 JOIN foo2 ON foo1.column1= foo2.column2
你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)
你是不是要在子选择中写'from foo2'? – 2015-01-21 10:19:58
您不要在任何FROM子句中声明foo2。 – 2015-01-21 10:20:09