У меня есть три таблицы, а именно: студент, поступающие и курс. Я хотел получить информацию о студентах (их SSN, Имя и Фамилия), которые прошли курс обучения по специальности «Архитектура компьютера». Я написал запрос как

select SSN,First_Name,Last_Name,Course_Name='Computer Architecture' from STUDENT s,ENROLLS e,COURSE c where s.SSN=e.SSN and e.CourseNo=c.CourseNo;

И получил сообщение об ошибке: «Ошибка 1052 (23000): столбец« SSN »в списке полей неоднозначен»

Моя структура таблицы выглядит следующим образом: студент (SSN, имя_ фамилии, фамилия, улица, город, почтовый индекс, штат) курс (CourseNo, Course_Name, отдел) Зачисляется (SSN, SectionNo, CourseNo)

Где я ошибаюсь? пожалуйста помоги

1
cerebral_assassin 17 Апр 2020 в 13:07

2 ответа

Лучший ответ

Вы просто добавляете псевдоним в forint of it, и это становится однозначно

Я также изменил его на JOINs, ваш метод уже много лет устарел

SELECT 
    e.SSN,
    First_Name,
    Last_Name,
    Course_Name = 'Computer Architecture'
FROM
    STUDENT s
    INNER JOIN 
    ENROLLS e ON s.SSN = e.SSN
    INNER JOIN
    COURSE c ON e.CourseNo = c.CourseNo;
0
nbk 17 Апр 2020 в 10:37

SQL поддерживает определение столбца путем добавления префикса ссылки к полному имени таблицы или псевдониму таблицы:

ВЫБЕРИТЕ e.SSN, First_Name, Last_Name, Course_Name = 'Архитектура компьютера' ИЗ РЕГИСТРАЦИИ СТУДЕНТОВ e ON s.SSN = e.SSN СОЕДИНЕННЫЙ КУРС c ON e.CourseNo = c.CourseNo;

0
J Shaikh 25 Апр 2020 в 18:40