从SQL查询中获取列值的总和

时间:2014-02-21 17:55:23

标签: sql-server tsql

我有以下查询,我试图从Column2获取值的总和。

SELECT c.column1, c.column2
FROM table1 c 
LEFT JOIN table2 d ON d.column_id = c.column_id
Group by c.column1

column1         column2   
------------------------
survey_name1     10       
survey_name2     20

我想要第3列,其中第2列的总和(即10 + 20 = 30)。我不确定这是否可行。如果有任何替代解决方案,请建议。

column1         column2  column3 
-------------------------------
survey_name1     10       30
survey_name2     20       30

1 个答案:

答案 0 :(得分:1)

除非您有充分的理由在每行中使用完全相同的值总和,否则我强烈建议您使用第二个查询来获取column2值的总和:

SELECT  
  SUM(c.column2)
FROM table1 c 
    LEFT JOIN table2 d ON d.column_id = c.column_id
Group by c.column1

如果这对你不起作用,请详细说明为什么要对每一行求和。

修改

如果确实需要在每一行上加总,那么您可以将原始查询与上面的查询交叉加入。但实际上我无法想到这样做的好理由。