Соедините 2 оператора SELECT с одинаковыми условиями - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть 2 оператора SELECT:

set @student_id = (select ID from student where student.name='A');

SELECT course_id, title, credits
FROM course
WHERE course_id IN (SELECT course_id FROM takes 
WHERE takes.ID = @student_id AND grade != 'F');

SELECT course_id, grade
FROM takes
WHERE course_id IN (SELECT course_id FROM takes 
WHERE takes.ID = @student_id AND grade != 'F');

Поскольку в качестве общего столбца результатов указано course_id, я попытался объединить их, как показано ниже, но получил неправильные результаты.

SELECT DISTINCT course.course_id, course.title, course.credits, takes.grade
FROM course INNER JOIN takes on course.course_id = takes.course_id
WHERE course.course_id IN (SELECT course_id FROM takes 
WHERE takes.ID = @student_id AND grade != 'F');```

Any help?

1 Ответ

0 голосов
/ 02 апреля 2020
SELECT DISTINCT course.course_id, course.title, course.credits, takes.grade
FROM course JOIN takes on course.course_id = takes.course_id
WHERE  takes.ID = @student_id AND takes.grade != 'F'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...