我需要從SQL列中獲取總數,但它不工作,任何人都可以看到我做錯了什麼。選擇SUM()SQL
SELECT a.Artikelnummer
,a.Artikelnamn
,a.Antalperpall
,COUNT(*) AS AntalArtiklar
,SUM(e.Antalpallar) AS TotalPall
,SUM(e.Antalperpall) AS TotalStyck
FROM Artikel AS a
INNER JOIN Evig AS e ON a.ArtikelnummerID = e.ArtikelnummerID
WHERE (e.Datum <= '{0}')
AND (a.Kundkund = '{1}')
AND (a.Artikelnamn = '{2}')
GROUP BY a.Artikelnummer
,a.Artikelnamn
,a.Antalperpall
SUM(e.Antalperpall)AS TotalStyck:這是誰返回一個奇怪的值。我想要做的是取每行的整數值並從中得到總數。
好吧,我去了地下室,並訪問了服務器,我發現這個問題。我需要像這樣SUM(e.Antalperpall * ABS(e.Antalpallar))與Antalpallar相乘。但它仍然不起作用,我認爲這是負面價值的原因。
所以它是這樣的Antalpallar是負面的價值-1200 * -2應該是-2400,但我不認爲它這樣做,還是?它是進出倉庫的東西。
無論如何,增加那些togheter的最終值應該是14320,但我得到一個20 000的東西,沒有ABS()(或與)5000的東西總和。
任何人都知道如何寫這個SUM(e.Antalperpall * ABS(e.Antalpallar))來獲得我想要的值?
Antalpallar和Antalperpall的數據類型是什麼? – apomene
這不工作意味着你得到什麼?你能更好地解釋什麼是「奇怪的」價值嗎?嘗試將字段強制轉換爲int – MiloBellano
您能告訴我們一些示例數據,從樣本數據總結中返回什麼以及您期望的是什麼,這樣我們可以計算出 – MarkD