Ошибка: не уникальная таблица / псевдоним при объединении двух таблиц - PullRequest
0 голосов
/ 12 мая 2018

Мне нужны данные предыдущего и текущего класса. Я использую fk для лучшей производительности. Поскольку fkcurrentClassId & fkpreviousClassId пытаются получить информацию о том же столбце studentClass. может быть, это вызывает ошибку, может кто-то помочь с этим.

ошибка: Not unique table/alias

MyQuery:

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

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

1 Ответ

0 голосов
/ 12 мая 2018

Вы должны использовать уникальные псевдонимы для обращения к столбцу таблицы, если таблица появляется более одного раза в предложении FROM (включая любые JOIN s).В противном случае ссылка является неоднозначной, и СУБД не может сказать, что вы хотели.

Поскольку вы не опубликовали DDL (или DML) для ваших таблиц или точно, что вы хотите там делать,У меня та же проблема, что и в СУБД, и я не знаю, что именно в вашем запросе.Так что я могу привести вам только несвязанный пример.Вам нужно будет самому определить, какой вы хотите быть из таблицы, к которой вы присоединились, в своем запросе и соответственно присвоить ей псевдоним.

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;

Обратите внимание на псевдонимы от a1 до a5 для a.

Используйте эту скрипту SQL , чтобы увидеть ее в действии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...