首页 > 解决方案 > 在 Transact-SQL 上:可以构建一个语句来创建一个新列,同时使用来自同一个表的另一列的数据。

问题描述

在 Transact-SQL 上:想要创建一个语句,将一列添加到我当前的活动表中,新添加的列将从同一个表的另一列中获取数据。它将添加每一行的数据并将其汇总到新列中。

更加具体,

我在一家生产红薯薯条的公司工作,我们使用标签来描述每个盒子的内容。

我有一个表格,在打印标签时会更新和填充,标签会出现在每个盒子上;所以标签的数量==我们生产的盒子的数量。该表有一栏描述了每个箱子的重量;名为 [CaseWeight] 的列。

我想用这个 CaseWeight 列在一个新列上做一个 Sum([CaseWeight]) 并将其称为总磅数。虽然仍然能够看到表中的其余列。

标签: c#sqldatabasetsqlsql-server-2012

解决方案


您可以使用带有窗口功能的视图:

create view v_t as
    select t.*, sum(weight) over () as total_pounds
    from t;

您不能将窗口函数作为生成的列放入,因此这可能是最好的方法。


推荐阅读