2016-05-18 63 views
0

enter image description hereMysql:求和計算列

嘿! 我的確有一個關於SQL的問題。有沒有辦法來總結紅色標記的值?所以例如AAG不會分爲2列,而是合併爲一列。所以AAG 2和AAG 4成爲一個單行AAG 6

幫助表示讚賞:) 有一個愉快的一天

+0

只需使用'sum' ...... – sgeddes

+0

刪除您'集團BY'的第二部分。只用't.TEILEID'分組。 –

+0

嘿,是的,我嘗試了總和,但它顯示AAG爲12,這顯然是錯誤的。它應該是6.我真的不知道爲什麼它這樣做。任何想法?另外,我不能刪除我的組的第二部分,因爲它會引發錯誤。 – user2669261

回答

1

這將做到這一點:

您需要使用SUM()

SELECT t.TEILEID 
    , SUM(t.BESTAND - t.RESERVIERT) 
FROM TEILE t 
     INNER JOIN AUFTRAGSPOSDS a ON a.TEILEID = t.TEILEID 
WHERE a.AUFTRNR = 15 
GROUP BY t.TEILEID; 

閱讀您的意見,我認爲當你需要這個:

SELECT t.TEILEID 
    , SUM(t.BESTAND - t.RESERVIERT) 
FROM TEILE t 
WHERE t.TEILEID IN 
       (SELECT a.TEILEID 
       FROM AUFTRAGSPOSDS a 
       WHERE a.AUFTRNR = 15) 
GROUP BY t.TEILEID; 
+0

嘿,是的,我試過了,但它顯示12爲AAG,這顯然是錯誤的。它應該是6.我真的不知道爲什麼它這樣做。任何想法? – user2669261

+0

@ user2669261在表AUFTRAGSPOSDS您可能有兩個記錄對應於TEILE中的每條記錄 –

+0

@ user2669261查看我的更新回答 –

0

當然這是可能的:

select t.TEILEID, SUM(t.BESTAND - t.RESERVIERT) from ... 
GROUP BY t.TEILEID 
+0

嘿,是的,我試過了,但它顯示12爲AAG,這顯然是錯誤的。它應該是6.我真的不知道爲什麼它這樣做。任何想法? – user2669261