首页 > 解决方案 > SQL 从另一列创建计算列

问题描述

我正在尝试创建一个计算列,其中值来自另一个表。该表必须存储在数据库中。

名为 TABLE 1 的现有表

ID  GROUP ITEM_NO COST_A COST_B
1   1     1001    20.00  30.00
2   1     1002    10.00  25.00
3   2     1005    15.00  25.00

在名为表 2 的新表中,我希望有以下内容。本质上,GROUP_TOTALCOST 是每个组的 COST_A 加上 COST_B

Code GROUP(FK) GROUP_TOTALCOST
001  1         85.00
002  2         40.00

这是我可以在 ALTER TABLE ADD COLUMN 或 CREATE TABLE 语句中实现的吗?谢谢

标签: sqlsql-server

解决方案


你不能有一个基于另一个表的计算列,你可以创建一个视图,每当你从视图中选择它是最新的

如果您使用的是 sql server,这是您可能要考虑的语法

create view yourviewname
as 
select 
ROW_NUMBER() over (order by GROUP) as rownumber ,  GROUP, sum(Cost_A) + sum( COst_B) as GROUP_TOTALCOST
from testx
group by GROUP

推荐阅读