私は以前にこれに遭遇したことがあり、シニアの瞬間を延長していることはほぼ確実ですが、SQL インスタンスの 2 つのデータベースにまたがる 3 つの異なるテーブルから作業指示データを取得し、すべてをレポートに結合しようとしています。 ' 次の列を含む最終結果を探しています。
WO | 生産記録数量 | 在庫数 | 分散
Variance の部分は簡単です。select ステートメントをネストして、外側のステートメントで 2 つの数量を減算するだけで済みますが、私が直面している問題は、生産テーブルと在庫テーブルを対応するデータベースに結合するときに合計が得られることです。私が対象としている列のうち、本来あるべきものよりもはるかに大きい
サンプルデータ:
Work Order, Short P/N, and Long P/N in Work Order Table:
dba.1
WO ShortPN LongPN
152 1234 Part1
Short P/N, Quantity on hand, location, and lot # in inventory table:
dba.2
ShortPN Qty Loc Lot
1234 31 Loc1 456
1234 0 Loc2 456
1234 0 Loc4 456
1234 19 Loc1 789
1234 25 Loc4 789
Work Order, Long P/N, and production count of the last 5min in Production table:
dbb.3
WO LongPN Count
152 Part3 6
152 Part3 8
152 Part3 9
152 Part3 4
152 Part3 6
152 Part3 7
With this example I've tried:
SELECT 1.WO AS WO
,SUM(2.Qty) AS "Qty On Hand"
,SUM(3.Count) AS "Produced Qty"
FROM dba.1
INNER JOIN dbb.2 ON 1.ShortPN=2.ShortPN
INNER JOIN dbb.3 ON 1.WO = 3.WO
GROUP BY 1.WO
また、3 から選択して、WO で 1 を 3 に結合してから、shortPN で 2 を 1 に結合しようとしましたが、どちらも、本来あるべきよりも指数関数的に高い SUM() 数値を生成します (つまり、15 であるはずの xxx がオーバーに変わります)。 2,000,000) ですが、レポートからデータ ポイントの 1 つを削除し、在庫または生産数量のみを選択すると、正しい最終結果が得られます。私は以前にこれに出くわしたことを誓いますが、私の人生ではそれがどのように解決されたか思い出せません。それが重複した質問である場合は申し訳ありませんが、検索しても何も見つかりませんでした.
助けてくれてありがとう、それは大歓迎です。