在不指定列名的情况下对多个列求和

时间:2013-06-17 02:18:43

标签: sql sql-server sum

我使用的数据库可以在不同的列中按大小保存库存水平。 所以,例如:

PRODUCT VARCHAR
QTY_1   INT
QTY_2   INT
QTY_3   INT
....

有没有更快的方法通过SQL Server 2012进行SUM(QTY_1+QTY_2...)

1 个答案:

答案 0 :(得分:2)

无论如何,您必须列出QTY_NNN列的名称。您可以将其放在查询中,也可以在表模式级别为QTY_TOTAL定义一个特殊的计算列,如下所示:

ALTER TABLE MY_TABLE 
ADD QTY_TOTAL AS QTY_1 + QTY_1 + QTY_1 + ...

现在,您可以在所有查询中对QTY_TOTAL求和。此方法的一个优点是,如果您决定稍后添加或删除其他数量级别,则只需更改QTY_TOTAL列的定义;引用此计算列的所有查询都将继续自动运行。