从使用Where子句的View中选择以引用另一个数据库 - Unknown Column错误

时间:2012-10-31 04:30:37

标签: mysql view

我正在尝试从我创建的视图中选择某些值。声明如下:

SELECT * FROM dashboard.team
WHERE ac2012.acx_users.id = 1;

如您所见,此处引用了2个数据库:

  1. 仪表板数据库,团队表
  2. ac2012数据库,acx_users.id表
  3. ac2012.acx_users.id是原始Create View语句中的正则表达式,我正在使用它,因为我当然不能在Where子句中使用ALIAS ...但是,这显示错误:< / p>

    Error Code 1054: Unknown column 'ac2012.acx_users.id' in 'where clause'
    

    我不知道如何让它工作,因为在这种情况下我需要引用其他数据库,但它不能识别数据库。任何提示将不胜感激。

2 个答案:

答案 0 :(得分:2)

由于您从视图中进行选择,因此基础数据库不再可见。您只能看到视图所呈现的内容,作为视图所在的数据库的一部分,因此请尝试WHERE acx_users.id = 1,或者在视图定义中将该字段别名的任何内容。

答案 1 :(得分:0)

    SELECT * FROM dashboard.team
    LEFT OUTER JOIN ac2012 ON ac2012.CommonColumnName=dashboard.CommonColumnName
    WHERE ac2012.acx_users.id = 1;

======================
    请替换原始列名...