Неизвестный столбец xxx в «списке полей» при объединении таблиц (MySQL, MariaDB) - PullRequest
0 голосов
/ 19 апреля 2019

Вопрос по домашнему заданию: написать SQL-запрос, чтобы перечислить имена всех учащихся, обучающихся в Web и Database Computing.Здесь три таблицы: зачисления студенты предметы Эти три таблицы находятся вта же база данных называется Enrollment .

Я попытался объединить три таблицы вместе и распечатать всю таблицу, это работает!

 MariaDB [enrolment]> SELECT *
    -> FROM students st
    -> JOIN enrolments en
    -> ON st.student_id=en.student_id
    -> JOIN subjects su
    -> ON en.subject_code = su.subject_code
    -> WHERE su.name='Web and Database Computing';

Однако я хочу распечатать только имена всех студентов, зачисленных в Web и Database Computing, поэтому я изменяю код:

MariaDB [enrolment]> SELECT name FROM students st
    -> JOIN enrolments en
    -> ON st.student_id=en.student_id
    -> JOIN subjects su
    -> ON en.subject_code = su.subject_code
    -> WHERE su.name='Web and Database Computing';

Это дает мне ошибку

ОШИБКА 1054 (42S22): неизвестный столбец 'Students.name' в 'списке полей'

Ответы [ 2 ]

2 голосов
/ 19 апреля 2019

вы можете заменить name на st.name, потому что вы дали таблицу псевдонимов студентов как st заменить имя на st.name (поскольку в доступном поле имени таблицы учеников, а также в доступном имени таблицы предметов вы можете указать обязательное псевдоним точки столбца) следуя указаниям ниже ...

 SELECT st.name
         FROM students st
         JOIN enrolments en
         ON st.student_id=en.student_id
         JOIN subjects su
         ON en.subject_code = su.subject_code
         WHERE su.name='Web and Database Computing';
0 голосов
/ 19 апреля 2019

Несмотря на то, что MySQL не выдавал ошибку неоднозначности, Имя здесь представляется неоднозначным столбцом, поскольку присутствует как в предметах, так и в учениках.Итак, не могли бы вы попробовать:

st.name вместо name?

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