Представление SQL для вычисляемого столбца

У меня есть таблица games со следующими столбцами: home_team, away_team, home_score, away_score

Я хочу создать представление, которое добавляет столбец winner, который устанавливает победителя на home_team, away_team или 'TIE' (если баллы равны).

Можно ли это сделать с помощью представления? Мне нужно, чтобы победитель вычислялся на лету, а не сохранялся в таблице. Я также не хочу использовать триггер.

Я использую MySQL 5.5 в качестве своего SQL-сервера.

Спасибо!


person bradvido    schedule 10.08.2011    source источник


Ответы (1)


Псевдокод не имеет вашей схемы...

SELECT CASE
         WHEN home_score > away_score THEN home_team
         WHEN home_score < away_score THEN away_team
         ELSE 'TIE'
       END CASE

Это предполагает, что ваши столбцы home_team и away_team относятся к типу varchar.

Также это не проверяет NULL, поэтому, если оценки могут быть NULL, вам нужно будет обработать это в предложениях WHEN.

person Yuck    schedule 10.08.2011
comment
Это сработало отлично, за исключением того, что мне не нужен был КОНЕЦ, просто КОНЕЦ - person bradvido; 10.08.2011