MySQL 列定义

标签 mysql

有没有一种方法,使用MySQL 5.0,定义表中的一列,每当在该特定行上执行选择时就计算该列?例如,假设我有两个表,A 和 B:

A:
    ID
    COMPUTED_FIELD = SUM(SELECT B.SOME_VALUE FROM B WHERE B.A_ID = ID)
B:
    ID
    A_ID
    SOME_VALUE

在示例中,当我对 A 上的特定 ID 运行选择时,我希望它返回表 B 中该特定 A.ID 值的所有值的总和。我知道如何使用多个单独的查询并按 A_ID 进行分组来执行此操作,但我正在尝试稍微简化该过程。

最佳答案

是的。您不能在表中执行此操作,但可以在 View 中执行此操作。

CREATE VIEW A 
AS 
SELECT SUM(B.SOME_VALUE) AS COMPUTED_FIELD 
FROM B 
WHERE B.A_ID = 'id';

显然 id 需要是您要搜索的任何内容。

在这种情况下,您不需要表 A。

关于MySQL 列定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1115296/

相关文章:

MySQL 选择确切的单词

mysql - 尝试删除外键时出错 : “ERROR 1025 (HY000):”

php - 无法使用 laravel 尝试每次都返回 false 登录

php - 为什么在 Laravel 5.2 中显示 Undefined variable 错误?

MySQL 错误 #1071 - 指定的键太长;最大 key 长度为 767 字节

php - 将表单中的字符链接到 mysql 中的特定属性

python - 如何转换为批量插入

mysql - 从静态日期计算 MySQL 中的年度到期时间

mysql - 是否可以一次插入相同的值(Mysql)?

mysql - H2 "runscript"命令将所有表名转为大写