Создать представление в значениях настройки SQL

#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 .