连接表上的PHP错误表示不是唯一的表或别名

时间:2015-07-15 05:45:47

标签: php

我不知道如何解决这个问题,一点帮助会很好。

  

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

为什么我收到此错误?我相信为什么加入是正确的。请帮助

m[PersonKey("Peter")];

2 个答案:

答案 0 :(得分:0)

将您的代码更改为

 $q = "SELECT * FROM `curriculum` AS A "
   . "INNER JOIN `subject` AS B ON `A`.`subject`=`B`.`sub_id` "
   . "LEFT JOIN `subject` AS C ON `A`.`cur_pr`=`C`.`sub_id` "
   . "WHERE `course`=:cid and `cur_year`=1";

如果您想再次加入相同的表,请使用Table Aliases此处AS用于此目的

答案 1 :(得分:0)

您收到一条错误消息,指出表/别名不是唯一的,因为此行代码为:

  

。 “左{J} subject curriculumcur_pr = subjectsub_id

它不知道哪个主题属于哪个表(第一个或第二个)。您可以尝试以上代码

$q = "SELECT * FROM `curriculum` AS cu "
   . "INNER JOIN `subject` AS su1 ON `cu`.`subject`=`su1`.`sub_id` "
   . "LEFT JOIN `subject` AS su2 ON `cu`.`cur_pr`=`su2`.`sub_id` "
   . "WHERE `cu.course`=:cid and `cu.cur_year`=1";