计算列的SQL视图

时间:2011-08-10 15:52:05

标签: mysql sql view calculated-columns

我有一个名为游戏的表,其中包含以下列:home_team, away_team, home_score, away_score

我想创建一个添加列winner的视图,该列将获胜者设置为home_teamaway_team'TIE'(如果得分相等)。< / p>

可以使用视图完成吗?我需要获胜者在飞行中计算而不是存储在表格中。我也不想使用触发器。

我正在使用MySQL 5.5作为我的SQL服务器。

谢谢!

1 个答案:

答案 0 :(得分:5)

Psuedo-code没有您的架构......

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

这假设您的home_teamaway_team列是某种varchar类型。

另外,这不是检查NULL,因此如果分数可以是NULL,则需要在WHEN子句中处理。