#mysql #view
#mysql #Вид
Вопрос:
Мне нужно выполнить это упражнение, но я не знаю, как выполнить последнюю часть.
Создайте представление из курсов, которые студенты проходили в области инженерии или компьютерных наук. Укажите имя студента, специальность и название курса. Если специальность студента «Компьютерные науки», в столбце «Основные» должно быть указано «Наука», а если специальность «Компьютерная инженерия», то должно быть указано «Инженерное дело»
У меня уже есть это, но я не знаю, как установить значения science или engineering
select sname
, major
, cname
from student
natural
join enrolled
where major = 'Computer Science'
or major = 'Computer Engineering'
Комментарии:
1. Мне еще не нужно было использовать естественное соединение. Я думаю, что если вы будете действовать по принципу, что существует ровно два типа соединения: СОЕДИНЕНИЕ и ЛЕВОЕ СОЕДИНЕНИЕ, вы не ошибетесь слишком далеко.
2. На самом деле, лучше всего забыть обо
natural joins
всем вместе. Что происходит в рабочей среде, так это то, что кто-то добавляет столбец таблицы, который соответствует названию месяцев-лет, и запрос внезапно меняется.
Ответ №1:
Как насчет IF?
CREATE view MyView as
SELECT sname
, IF(major = 'Computer Science', 'Science', 'Engineering') as major
, cname
FROM student INNER JOIN enrolled ON ______
WHERE major = 'Computer Science'
OR major = 'Computer Engineering'
Я думаю, вам понадобится только 1 IF, потому что вы уже ограничиваете записи 2 типами в вашем WHERE
.
Вам также нужно будет выполнить JOIN
.