php - 多表 JOIN 抛出 'Not unique table/alias' 错误

标签 php mysql

以下查询会引发错误:

SELECT * FROM proposal_data
  INNER JOIN proposal_data
      ON proposal_data_second.proposal_id = proposal_data.proposal_id

  INNER JOIN proposal_data_second   
      ON proposal_data_third.proposal_id =  proposal_data_second.proposal_id
  INNER JOIN proposal_data_third
      ON proposal_data_fourth.proposal_id = proposal_data_third.proposal_id

错误是:

#1066 - Not unique table/alias: 'proposal_data'

我做错了什么?

最佳答案

您错误地连接了表。

在当前查询中,您在声明之前连接表:

例如取前三行

SELECT * FROM proposal_data
  INNER JOIN proposal_data
      ON proposal_data_second.proposal_id = proposal_data.proposal_id

在声明 proposal_data_second 表之前,您需要将 proposal_dataproposal_data_second 连接起来。

此外,您不需要使用表名 peoposal_data 两次:

SELECT * FROM proposal_data
  INNER JOIN proposal_data --This is invalid syntax

试试这个:

SELECT * FROM proposal_data
   INNER JOIN proposal_data_second
           ON proposal_data_second.proposal_id = proposal_data.proposal_id
   INNER JOIN proposal_data_third
           ON proposal_data_third.proposal_id = proposal_data_second.proposal_id
   INNER JOIN proposal_data_fourth
           ON proposal_data_fourth.proposal_id = proposal_data_third.proposal_id

更多信息请参见MySQL: JOIN Syntax

关于php - 多表 JOIN 抛出 'Not unique table/alias' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16249323/

相关文章:

mysql - yii2 添加 '0=1' 以查询多对多关系

mysql - 如何使用 mysql find_in_set 查找逗号

java - 如何将包含 java 或 python 代码的变量从 php 文件传输到空文件(.java 或 .py)?

php - PHP 支付错误代码 13113 中的 Paypal API Express Checkout

php mysqli 查询期望参数 1 为字符串

php - 在数据库中找不到上传的文件

MySQL动态查询与随机子集查询

java - mysql代码的备份数据库不起作用

php - PHP 是否具有确定与给定 PHP 脚本兼容的最旧 PHP 版本的内置方法?还是会永远?

mysql - 在 MYSQL 中获取第一个解锁行