Mysql 错误:连接两个表时不是唯一的表/别名

Mysql 错误:连接两个表时不是唯一的表/别名,mysql,sql,Mysql,Sql,我需要上一节课和当前课的详细信息。我正在使用fk,以获得更好的性能。因为fkcurrentClassId和fkpreviousClassId正在尝试获取同一列studentClass的信息。这可能是导致错误的原因。有人能帮我一下吗 错误:不是唯一的表/别名 我的查询: Select `fkStudentId`,`fkcurrentClassId`,`fkpreviousClassId`,`studentClass` from

我需要上一节课和当前课的详细信息。我正在使用
fk
,以获得更好的性能。因为
fkcurrentClassId
fkpreviousClassId
正在尝试获取同一列
studentClass
的信息。这可能是导致错误的原因。有人能帮我一下吗

错误:
不是唯一的表/别名

我的查询:

         Select `fkStudentId`,`fkcurrentClassId`,`fkpreviousClassId`,`studentClass` 

            from
               dbStudents`.`tbStudentClass`
            join
              `dbStudents`.`tbStudentClass`
            on 
              `tbClass`.`pkClassId` = `tbStudentClass`.`fkcurrentClassId`
            join 
              `dbStudents`.`tbStudentClass`
            on
              `tbClass`.`pkClassId` = `tbStudentClass`.`fkpreviousClassId`

如果表在
FROM
子句(包括任何
JOIN
s)中多次出现,则必须使用唯一别名来寻址表的列。否则,引用是不明确的,DBMS无法告诉您想要什么

由于您没有为您的表发布DDL(或DML),也没有确切地发布您想要在那里执行的操作,因此我遇到了与DBMS相同的问题,不知道您的查询中是什么。所以我只能给你们一个不相关的例子。您必须自己从查询中的联接表中找出您想要成为什么样的表,并相应地给它加上别名

SELECT a1.a,
       a2.a,
       a3.a,
       a4.a,
       a5.a,
       a1.i,
       a2.i,
       a3.i,
       a4.i,
       a5.i
       FROM a a1
            INNER JOIN a a2
                       ON a2.i = a1.i
            INNER JOIN a a3
                       ON a3.i = a2.i
            INNER JOIN a a4
                       ON a4.i = a3.i
            INNER JOIN a a5
                       ON a5.i = a4.i;
注意
a
a1
a5
别名


用于查看它的运行情况。

错误是什么?同时更新一些示例数据和无法将表联接到的预期输出itself@Dan:哦,是的,你可以。这个问题与PHP或phpMyAdmin都没有明显的关系,所以我删除了这些标记。@Dan:你可以随时将表本身连接起来(好吧,你可能会在某个时候,在沙漠的某个遥远的地方,在查询文本长度或操作计数上达到某个限制)。然后你必须使用适当的别名来解决歧义是另一回事。也许这就是你真正的意思?我怀疑的是OP得到的错误。