sql server动态计算字段

时间:2012-08-19 14:35:37

标签: sql sql-server-2000

我需要一个基于sql server 2000中每条记录的计算字段。 例如,有一个这样的表:

col1 col2 calcfield
-------------------
1     2   col1+col2
3     5   col1*col2

我需要一个查询来计算每条记录的最后一个字段,例如:

1     2     3
3     5     15

实际上这是一个为某些人计算数字的系统。有些参数存储在表的字段中,还有另一个字段存储如何根据这些参数计算数字(即公式)。对于每个人,有不同的参数和不同的公式。我想设计一个可以直接从表中提取参数和计算列的查询

有没有办法做到这一点,如果有什么是最好和最快的方式......

最好的问候

1 个答案:

答案 0 :(得分:2)

你只是做数学和别名。例子:

SELECT 
  field1,
  field2,
  field1 + field2 AS 'CalcField'
FROM table

如果您需要根据记录进行不同的计算,请使用CASE语句:

SELECT 
  field1,
  field2,
  CASE 
    WHEN (some condition) THEN field1 + field2 
    WHEN (some other condition) THEN field1 * field2
    ELSE (some default value or calculation)
    END AS 'CalcField'
FROM table