簡體   English   中英

SQL Server:使用sum時無法加入工作

[英]SQL Server : can't get join to work when using sum

當我運行這個SQL:

SELECT 
    SUM(f.flex) as flex, 
    f.anv as anvid 
FROM 
    flex f 
GROUP BY 
    f.anv

我去拿:

 anvid   | flex
 ---------------
   2     |  120
   6     |  365 
   9     |  715 
  19     | 2485 
  20     | 1545 
  21     | 1833 
  22     |  796 
  35     | 1783 
  36     |  -15 
  37     |-1582 
  38     | 1999 
  59     |  510
  70     | -275

現在,我想在flex.anv和tablecolumn anv.id上進行flex.anv ,以便能夠打印anv.anvnamn (用戶名)而不是上面的id。

我已經嘗試過這樣的事情:

SELECT 
    SUM(f.flex) as flex, 
    a.anvnamn as anvnamn 
FROM
    flex f 
INNER/LEFT/RIGHT JOIN 
    anv a ON f.anv=a.id 
GROUP BY 
    f.anv

然后我得到一個錯誤:

“ anv.anvnamn”列在選擇列表中無效,因為它既不包含在聚合函數中也不在GROUP BY子句中。

誰能幫我? 開始對此感到沮喪...

謝謝!

只需將a.anvnamn添加到您的GROUP BY子句中。

因此,將其放在group by子句中:

SELECT sum(f.flex) as flex, a.anvnamn as anvnamn
from flex f JOIN
     anv a
     ON f.anv = a.id
GROUP BY a.anvnamn;

注意:如果兩個ID具有相同的名稱,則將它們組合在一起。 如果您不希望出現這種情況,請使用:

GROUP BY a.anvnamn, f.anv;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM