Предположим, у меня есть следующие таблицы в sql.не удалось создать запрос цепи в sql
student
name id
alex 1
felix 2
hannah 3
john 4
jonas 5
instructor
name id
alex 1
felix 2
hannah 3
john 4
jonas 5
(ex)brad 8
tom 9
tonny 11
instructor_lectures
name id course_count
alex 1 5
felix 2 2
hannah 3 0
john 4 23
jonas 5 12
(ex)brad 8 1
tom 9 11
tonny 11 9
Что я хочу делать;
- firstly, get the difference of instructor student tables according to the name which does not start with "(ex)"
- and then list course_count of the result.
Я имею в виду, сначала получить
name id
tom 9
tonny 11
и затем
name id course_count
tom 9 11
tonny 11 9
что я сделал до сих пор?
Я написал запрос на разницу и выберет запрос из инструкторов, но не смог объединить их.
SELECT NAME FROM instructor INSTR WHERE NOT EXISTS
(
SELECT * FROM student STU WHER INSTR.NAME = STU.NAME
)
AND INSTR.NAME NOT REGEXP '^(ex)'
Этот запрос возвращает меня
name id
tom 9
tonny 11
Теперь я хочу, чтобы получить course_count посмотрев таблицу instructor_lectures
SELECT NAME FROM instructor INSTR WHERE NOT EXISTS
(
SELECT * FROM student STU WHER INSTR.NAME = STU.NAME
)
AND INSTR.NAME NOT REGEXP '^(ex)'
SELECT * FROM instructor_lectures INSTR_LECTURES WHERE INSTR.NAME = INSTR_LECTURES.NAME
но это бросает ошибку. Где моя ошибка? Как я могу получить course_count результата первого разностного запроса?
Какие СУБД вы используете? –