mysql - 计算列的 SQL View

标签 mysql sql view calculated-columns

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

我想创建一个添加winner列的 View ,该列将获胜者设置为home_teamaway_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_teamaway_team 列是某种 varchar 类型。

此外,这不会检查 NULL,因此如果分数可以为 NULL,您需要在 WHEN 子句中处理该问题.

关于mysql - 计算列的 SQL View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7013818/

相关文章:

android - 在 DrawerLayout 内的 NavigationView 顶部布局图像

jsp - 从jsp访问Spring MVC DI bean

php - mysql_fetch_array 接收 3 行,但返回 4

mysql - mysql 中的触发器查询错误

php - 有没有办法在 cakephp 中关闭 mysql 连接?

mysql - SQL从两个表中删除

model-view-controller - CakePHP 对一起使用 set() 和 compact() 的说明。仅适用于 compact()

php - 查询执行问题

mysql - 如何在mysql中获取每个月(1到12之间)的第1天和第15天?

SQL Server : Function is returning single char in stored procedure