2013-08-04 39 views
0

我只想補充我的兩個SQL Server表中的列的我一直用這個查詢可以這樣做:添加兩列SQL Server錯誤

SELECT 
     sessionnumber, sessioncount, timespent, 
     SUM(sessioncount+timespent) as cnt 
    into d3 
    from clusters 
    order by sessionnumber 

但事實是它給我的錯誤,如:因爲它不是在聚合函數或GROUP BY子句中包含

消息8120,級別16,狀態1,行1
列「clusters.sessionnumber」在選擇列表中無效。

我一直在盡我最大的努力來克服這個問題,但我不成功!任何人都可以幫我提前謝謝!

回答

5

如果你有一個像SUM(或者也MINMAXAVGCOUNT)聚合函數,在列的列表中的所有其他列在SELECT必須在GROUP BY條款:

SELECT 
     sessionnumber, sessioncount, timespent, 
     SUM(sessioncount+timespent) as cnt 
    INTO d3 
    FROM clusters 
    GROUP BY 
     sessionnumber, sessioncount, timespent 
    ORDER BY 
     sessionnumber 

所以你基本上是由這三個列(sessionnumber, sessioncount, timespent)「分組」的數據,對各組總結sessioncount + timespent值,然後你將這些值到新d3

+0

它說什麼關於分組?這個問題只是說'添加兩列' – 2013-08-04 07:19:51

+1

@MikeW:如果他使用SUM(),我假設他也想分組。 –

+0

或者他可能誤解了語法...... – 2013-08-04 07:22:39

2

無需使用sum(),它總計在一列中。試試這個:

SELECT sessionnumber,sessioncount,timespent, (sessioncount+timespent) as cnt 
into d3 
from clusters 
order by sessionnumber