SQL列Sum - 在对列进行求和之前使用if语句将行值加倍

时间:2010-08-20 19:43:08

标签: sql sql-server tsql

四列表 - id(int),double1(bit),double2(bit),score(int)

想要编写一个查询,返回得分列的SUM(),按ID分组,其中每个行得分可以根据两个双列进行更改。因此,如果得分为10且double1和/或double2列为真,则行分数加倍一次或两次。

1 个答案:

答案 0 :(得分:6)

SELECT id, SUM(score * (double1 + 1) * (double2 + 1))
FROM tbl
GROUP BY id

(编辑为不需要显式强制转换.int有higher precedence