计算列的SQL视图

bra*_*ido 2 mysql sql view calculated-columns

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

我想创建一个视图,添加一个列winner,将胜者设置为home_team,away_team或者'TIE'(如果分数相等).

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

我使用MySQL 5.5作为我的SQL服务器.

谢谢!

Yuc*_*uck 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
Run Code Online (Sandbox Code Playgroud)

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

这也就是检查NULL,所以如果分数可以,NULL你需要在WHEN条款中处理.