选择sql server的查询

use*_*043 2 sql sql-server-2008

我有一个产品表.在我的表中有一个字段,如productid,价格,数量,总数.

比我多种价格,数量字段和存储在总字段中的答案.

Ode*_*ded 5

不要在表中存储派生值 - 这是糟糕的设计.

由于总和是价格和数量的乘积,因此您可以随时计算出这些值 - 为什么存储它?如果这样做,您将在数据库中创建不一致数据的可能性.

直接从SQL中检索这样的值是微不足道的,无需存储它:

SELECT price, quantity, price * quantity AS total
FROM product
Run Code Online (Sandbox Code Playgroud)

更新:

正如@Martin指出的那样,SQL Server 2005+具有计算列,这些是非持久性或索引列,为方便起见,返回计算结果.

我强调这些是持久的列.