Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 我有一个SQL 1066-非唯一表/别名:_Mysql_Sql - Fatal编程技术网

Mysql 我有一个SQL 1066-非唯一表/别名:

Mysql 我有一个SQL 1066-非唯一表/别名:,mysql,sql,Mysql,Sql,我有三张桌子 1个项目 2项目id、活动id 3活动 我需要在所有这些表中搜索join,我试图使en-inner连接我不断得到 1066-非唯一表/别名:“pp086_项目” 我正在寻找“下九个”,它正在竞选中 我的SQL查询是: SELECT * FROM `PP086_projects`, `PP086_project_users`,pp086_project_companies JOIN `PP086_projects` ON `PP086_projects`.id = pp086_pro

我有三张桌子
1个项目
2项目id、活动id
3活动
我需要在所有这些表中搜索join,我试图使en-inner连接我不断得到

1066-非唯一表/别名:“pp086_项目”

我正在寻找“下九个”,它正在竞选中

我的SQL查询是:

SELECT * FROM `PP086_projects`, `PP086_project_users`,pp086_project_companies
JOIN `PP086_projects` ON `PP086_projects`.id = pp086_project_companies.project_id
JOIN pp086_project_companies ON  pp086_companies.id==pp086_project_companies.company_id
WHERE (`PP086_projects`.`id` = `PP086_project_users`.`project_id`
       AND `PP086_project_users`.`user_id` = '2')
  AND ( name LIKE '%Next Nine%'
       OR name LIKE 'Next Nine'
       OR description LIKE 'Next Nine'
       OR pp086_project_companies.name LIKE 'Next Nine' )

您可以多次使用
PP086_项目
表。您应该为它的不同实例添加别名。 这是不明确的,例如:
PP086_projects.id

或者,如果这是无意的,您可能应该将表名从中删除,如下所示:

      SELECT * FROM `PP086_projects`
      JOIN `PP086_project_users` ON `PP086_projects`.`id` = `PP086_project_users`.`project_id`
      JOIN `pp086_project_companies` ON `PP086_projects`.id = pp086_project_companies.project_id
      JOIN pp086_companies ON  pp086_companies.id== pp086_project_companies.company_id
       WHERE ( AND `PP086_project_users`.`user_id` = '2') AND ( name LIKE '%Next Nine%'
      OR name LIKE 'Next Nine'
      OR description LIKE 'Next Nine'
      OR pp086_project_companies.name LIKE 'Next Nine' )

您混合了隐式和显式
join
语法。因此,您已经两次将表
PP086_projects
放入
from
子句中。这可能是你的问题的原因

作为一条简单的规则,不要在
from
子句中使用
。如果需要交叉连接,请明确使用
交叉连接

SELECT *
FROM `PP086_projects` join
      `PP086_project_users`
      on `PP086_projects`.`id` = `PP086_project_users`.`project_id`
      pp086_project_companies
      ON `PP086_projects`.id = pp086_project_companies.project_id JOIN
      pp086_project_companies
      ON  pp086_companies.id = pp086_project_companies.company_id
WHERE (`PP086_project_users`.`user_id` = '2') AND
      ( name LIKE '%Next Nine%'
              OR name LIKE 'Next Nine'
              OR description LIKE 'Next Nine'
              OR pp086_project_companies.name LIKE 'Next Nine'
      );

注意:我删除了sql server标记,因为语法建议使用MySQL。您正在混合新旧样式的联接。可能您应该将最新的pp086_项目公司联接更改为pp086_公司。至少加入了2次pp086_项目公司,但pp086_公司未加入,并且也使用了最新的公司。我有相同的错误1066-表/别名不唯一:“pp086_项目公司”