我正在尝试在SQL SELECT中将两列和SUM()的所有行相乘,但我无法获得正确的值。我认为这是因为列中的负值。
Antalpallar的负值如此-1200 * -2应该是-2400但是我不认为这样做,或者?它是进出仓库的东西。
无论如何,添加那些togheter的最终值应该是14320,但是我得到一个20 000的东西而没有ABS()(或者)一个5000的总和。
任何人都知道如何写这个SUM(e.Antalperpall * ABS(e.Antalpallar))来获得我想要的价值?显然有一些我错过的东西。
SELECT a.Artikelnummer
,a.Artikelnamn
,a.Antalperpall
,COUNT(*) AS AntalArtiklar
,SUM(e.Antalpallar) AS TotalPall
,SUM(e.Antalperpall * ABS(e.Antalpallar)) 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