Как вернуть выходную таблицу из трех отдельных таблиц, по одной строке из каждой входной таблицы в MySQl Workbench? - PullRequest
0 голосов
/ 24 мая 2019

Вопрос задан следующим образом:

Напишите запрос, который показывает стенограмму студента. Запрос должен вывести столбцы:

  1. Имя студента
  2. Название курса
  3. Числовой класс

Для дополнительного кредита укажите оценку в виде буквы вместо числа.

3 соответствующие таблицы:

регистрация который содержит столбцы

Section_ID / Student_ID / Grade (это числовое значение с использованием 4-балльной системы GPA без десятичных дробей)

студент который содержит столбцы

ID / Имя / Электронная почта

Курс который содержит столбцы

ID / Заголовок / Описание / Единицы

Лучшее, что я мог придумать, было:

select name, Grade, Title 
from SELECT * FROM 
(
    student 
    join registration 
    on registration.Student_ID = student.ID
    join course on course.ID = registration.Section_ID
) as transcript group by student ;

Это дало мне синтаксическую ошибку 1064, и я не уверен, почему. Попробовав вложенный оператор выбора только с двумя работающими таблицами, не знаю, почему выбор из тройного объединения отклонен.

Что касается дополнительной части кредита, я не уверен, что делать, кроме запуска оператора таблицы обновлений в столбце оценок и установки 1,2,3,4 для D, C, B, A.

1 Ответ

1 голос
/ 24 мая 2019

Ваш оператор выбора имеет некоторую синтаксическую проблему. Запрос должен быть как ниже. Необходимо правильно использовать JOIN для установления связи между двумя таблицами, используя столбец Relational Key.

SELECT name, Grade, Title 
FROM Student A
INNER JOIN registration B B.Student_ID = A.ID
INNER JOIN Course C C.ID = B.Section_ID

Чтобы получить результаты на одного учащегося, пожалуйста, примените конец сценария фильтра как-

WHERE A.ID = N --Put Student ID Here.
...