我有一个名为 games 的表,其中包含以下列:home_team、away_team、home_score、away_score
我想创建一个添加winner
列的 View ,该列将获胜者设置为home_team
、away_team
或'TIE '
(如果分数相等)。
这可以使用 View 来完成吗?我需要即时计算获胜者而不是存储在表格中。我也不想使用触发器。
我使用 MySQL 5.5 作为我的 SQL 服务器。
谢谢!
最佳答案
伪代码没有可用的架构...
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
子句中处理该问题.
关于mysql - 计算列的 SQL View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7013818/