【问题标题】:MySQL #1054 - Unknown column 'foo.column1' in 'where clause'MySQL #1054 - 'where 子句'中的未知列'foo.column1'
【发布时间】:2015-01-21 10:17:36
【问题描述】:

我得到了一个

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

用于以下查询。

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

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

【问题讨论】:

  • 你的意思是在子选择中写from foo2吗?
  • 您没有在任何 FROM 子句中声明 foo2。

标签: mysql


【解决方案1】:

您在子查询中再次编写了 foo1 而不是 foo2。
另外,我建议使用连接查询来代替SELECT,如下所示。

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

【讨论】:

    【解决方案2】:

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-22
      • 2011-03-22
      • 2011-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多