两个LEFT JOIN表的联合表不起作用

媒体根

由于某些原因,执行以下查询时出现以下错误:

您的SQL语法有误;在第35行的“ ENGINE = FEDERATED”附近检查与MySQL服务器版本相对应的手册以使用正确的语法

CREATE TABLE users AS (
  SELECT
    ID, user_email, user_registered,
    first_name.meta_value as first_name,
    last_name.meta_value as last_name,
    telephone.meta_value as telephone,
    country.meta_value as country,
    company.meta_value as company,
    address.meta_value as address,
    city.meta_value as city,
    professional_title.meta_value as professional_title,
    state.meta_value as state,
    areas_of_interest.meta_value as areas_of_interest
    FROM wp_users
    LEFT JOIN wp_usermeta AS first_name ON first_name.user_id=ID
        AND first_name.meta_key='first_name'
    LEFT JOIN wp_usermeta AS last_name ON last_name.user_id=ID
        AND last_name.meta_key='last_name'
    LEFT JOIN wp_usermeta AS telephone ON telephone.user_id=ID
        AND telephone.meta_key='telephone'
    LEFT JOIN wp_usermeta AS country ON country.user_id=ID
        AND country.meta_key='country'
    LEFT JOIN wp_usermeta AS company ON company.user_id=ID
        AND company.meta_key='company'
    LEFT JOIN wp_usermeta AS address ON address.user_id=ID
        AND address.meta_key='address'
    LEFT JOIN wp_usermeta AS city ON city.user_id=ID
        AND city.meta_key='city'
    LEFT JOIN wp_usermeta AS professional_title ON professional_title.user_id=ID
        AND professional_title.meta_key='professional_title'
    LEFT JOIN wp_usermeta AS state ON state.user_id=ID
        AND state.meta_key='state'
    LEFT JOIN wp_usermeta AS areas_of_interest ON areas_of_interest.user_id=ID
        AND areas_of_interest.meta_key='areas_of_interest'
) ENGINE=FEDERATED DEFAULT CHARSET=latin1 CONNECTION "*****";

注意:FEDERATED Engine已打开并且正在其他非联接表上工作。

艾米莉安·阿特金森(Emilyanne Atkinson)

简短的答案:
FEDERATED表的CREATE语句需要另外一条称为CON​​NECTION的数据。语句中没有该数据是语法错误的根源。

长答案:

对于此特定实例,与FEDERATED表相比,VIEW将是更好的工具。

FEDERATED存储引擎可以有点像Linux中的符号链接或Windows中的快捷方式。它主要用于访问服务器上的表,该服务器实际上不在本地存储表,而是在其他mysql服务器上。因此,在创建FEDERATED表时,还必须在CREATE语句中包括FEDERATED存储引擎应使用的CONNECTION。您可以选择在存储数据的同一主机上创建FEDERATED表,但是由于不必要的访问本地数据的步骤,将导致额外的开销。请查看此链接以获取更多详细信息。

另一方面,VIEW就像存储的查询一样,只要您查询VIEW表,它就会执行。此页面可以为您提供更多信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

追加两个表-联合在SQL(Teradata)中不起作用

连接两个表不起作用

ngTable对于两个表不起作用

从两个表中 SELECT COUNT 不起作用

SQL LEFT JOIN两个表而不使用GROUP BY

合并两列中的两个表,而变量的顺序不起作用

SQL两个表中的两个表都具有多个WHERE条件的LEFT JOIN

两个查询后的SQLite Left连接表

MYSQL合并两个表中的两列,仍然使用LEFT JOIN

MySQL的联合/混合两个表

从两个表的联合中选择

SQL LEFT JOIN 与两个表 - 表顺序和性能

两个表之间的简单外部联接不起作用

来自单个父表的两个FOREIGN键约束不起作用

从SQL中的两个表中选择将不起作用

两个表之间的dlookup(嵌套dlookup不起作用)

插入两个表不起作用。有没有适当的方法?

我对两个表的更新查询不起作用(MYSQL)

使用承担角色同时访问属于不同帐户的两个动态表不起作用

SQL SELECT 表中的两个特定名称不起作用

SQL用COUNT()和LEFT JOIN合并两个或三个表

MySQL DELETE JOIN超过3个表在特定情况下不起作用

LEFT JOIN在两个列表使用Java流

如何连接来自mysql中两个不同表的数据(LEFT JOIN)?

在两个表上都带有where子句的Rails LEFT OUTER JOIN

更好的查询两个表上的LEFT JOIN并仅获得匹配的结果

从两个具有空LEFT JOIN的表中选择的SQLAlchemy返回空结果

SQL LEFT JOIN 在一张表中有两个条件

NOT IN 只返回 LEFT OUTER JOIN 返回两个表之间的增量?