基于列值乘以列的组合

时间:2012-02-05 13:50:20

标签: tsql calculated-columns

如何根据一列中的值乘以列的值。

实施例

   Col1   Col2   Col3   Col4
    10     10     10     casea (multiply col1 * col2)
    20     20     20     caseb (multiply col1 * col3) 
    30     30     30     casec (multiply col2 * col3) 

如下的查询:

select col1, col2, col3, col4, total

将返回

    10,10,10,casea,100
    20,20,20,caseb,400
    30,30,30,casec,900

当然,性能始终是一个重要问题。

感谢您的参与。

1 个答案:

答案 0 :(得分:4)

select
  Col1,
  Col2,
  Col3,
  Col4,
  CASE Col4 
    WHEN 'casea' then col1*col2
    WHEN 'caseb' then col1*col3
    WHEN 'casec' then col2*col3
  END AS Total
FROM YourTable