SQL SELECTで2つの列とSUM()のすべての行を掛けようとしていますが、正しい値を取得できません。私はそれが列の負の値のためだと思う。乗算とSUM()MS SQL
は、だから、この-1200 * -2のようなAntalpallarに負の値が-2400でなければなりませんが、私はそれはそれをやっているとは思わない、またはありましたか?それは倉庫に出入りするものです。
とにかく、これらのtogheterを追加する最終的な価値は14320でなければなりませんが、私は2万人に1台あり、5000円ではABS()(またはwith)がありません。
誰でもこの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
-1200 * -2?いいえ、それは間違いなく-2400でなければなりません。+ 2400でなければなりません.2つの負の数を掛けると、正の数が与えられます。ここで何をしているのかを明確にすることはできますか? –
質問は、2番目の列にあるものが何個あるかを示していれば、ここに負の値を持つことはどういう意味ですか?あなたはこれらのアイテムを保管していないだけでなく、その2つのサプライヤーに負担を負いますか? –
私が14320の合計を得ることができる唯一の合理的な方法は、正の数を持つものを数えることであるので、条件AND(e.Antalperpall> 0)またはAND(e.Antalpallar> 0)あなたが望む番号を手に入れます。 –