"Sales Line"または "Warehouse Entry"テーブルに関するすべての行をコメントアウトすると、クエリは期待通りに機能します。しかし、私はこのクエリをそのまま使用します。エラー(非現実的には少なくとも5桁高い)のデータを返します。2テーブルのデータを合計して1つのテーブルに結合したままにするにはどうすればよいですか?
アイデアは、「Item」テーブルを繰り返し、販売量と販売量の合計とそれが価値があることを確認することです。私はこれらのテーブルに参加する方法で何か間違っていると思う。 「倉庫エントリ」テーブルと「販売ライン」テーブルの両方には、I.[No_]
にリンクできる複数のエントリがあります。
USE NAV2009_R2_SHOWTEX_LIVE
SELECT I.[No_]
,sum(S.[Quantity (Base)]) AS [Quantity Sold]
,min(I.[IP Total (Manual)]) * sum(WE.[Quantity]) AS [Stock Value]
,sum(WE.[Quantity]) AS [Quantity Stock]
FROM [Item] AS I
INNER JOIN [Warehouse Entry] AS WE ON WE.[Item No_] = I.[No_]
AND WE.[Location Code] = 'BU'
AND WE.[Bin Code] <> 'SHIPPING'
AND WE.[Bin Code] <> 'WORKSHOP'
AND WE.[Bin Code] <> 'OUTBOX'
AND WE.[Bin Code] <> 'CUT'
AND WE.[Bin Code] <> 'VERZEND'
INNER JOIN [Sales Line] AS S ON S.[No_] = I.[No_]
AND S.[Shipment Date] > '07/01/2015'
AND S.[Document Type] = 1
WHERE I.[No_] LIKE '140003000007'
GROUP BY I.[No_]
サンプルデータ
号|販売数量|株式価値|数量ストック
間違ったデータ
140003000007|204484537.36000000000000000000|13051602.124400| 2355884.86000000000000000000
正しいデータ
140003000007|61703.24000000000000000000|13623.801800|2459.17000000000000000000
WEとS条件をON句に移して、真の左結合動作を得ます。 – jarlh
@jarlh、ありがとうございますが、数字はまだ間違っています。私のコードを編集します – WouldBeNerd
サンプルデータを投稿して結果を期待できますか? –