SQL Serverは初めてですが、PL/SQLを少し使用しました。
部品番号を取得して在庫を集計するクエリを作成しようとすると、過去180日間に販売されたQTYの平均が計算されます。これは私がこれまで持っていたものです。同じ部品番号のすべて、1つのテーブルからのSUM、別のテーブルからのSUM
SELECT
S.PartNum, S.PartDescription, S.CLASSID, SUM(D.STOCK), AVG(S2.QTY)
FROM PARTWHSE AS D
JOIN PART AS S ON S.PartNum = D.PartNum
LEFT JOIN PARTTRAN AS S2 ON S2.PartNum = S.PartNum
WHERE S.TRACKCODE = 0
AND S2.TRANDATE >= (GETDATE() -180)
GROUP BY PartNum, PartDescription, CLASSID;
問題は、私の合計が、私はそれを合計するとき、それはあまりにも多くの行に持っていると信じて私をリードしている、(以上)の方法オフで来て続けています。平均値は問題ありません。平均値なしの合計は問題ありません。
サンプルデータ表01
PartNum |株式|
101.123 | 100 |
101.123 | 250 |
101.123 | 150 |
サンプルデータ表02
PartNum | QTY
101.123 | 200
101.123 | 200
101.123 | 200
現在の結果 S.PartNum
| Sum(D.STOCK)
| AVERAGE (S2.QTY)
101.123 | 3,000 | 200
希望の結果 S.PartNum
| Sum (STOCK)
| AVERAGE (S2.QTY)
101.123 | 500 | 200
ご協力いただければ幸いです。好ましくは、単一のクエリで。
3つのテーブルすべてのサンプルデータを投稿してください。より良いヘルプがあります。 – etsa