間違っています。したがって、1つの行にはLOCA PARTB QTY 5があり、別の行にはLOCA PARTC QTY2があり、LOCB PARTX QTY3にはもう1つの行があります。行のQTY = 0の場合、その行は削除されます。SQLのSUMは、私は2つの場所のテーブルを持っている
Location | Part |QTY
LOCA | PARTB | QTY 5
LOCA | PARTC | QTY2
LOCB | PARTX | QTY3
2私はパートがある場合にかかわらず存在する場所のすべての名前をリストし、別のテーブルを持っている):だから場所はもはや
LOCQTYS表この表に記載されません場合があります割り当てられたパーツはありません。
この表は、名前と説明を示しています。
LOCNames表:
LocName | Description
LOCA | Storage
LOCA | Storage
LOCB | Base
は、だから私は何の部品が割り当てられていない場合は、ユーザーとディスプレイ0にすべての場所を一覧表示しようとするか、割り当てられたすべての部品の合計を表示しています。
example:
Loc1 30
Loc2 12
Loc3 0
Loc4 6
次のように私のSQL文は次のとおりです。問題は、カウントがオフになっている
sql = @"SELECT locnam,
Sum(locqty)
FROM (SELECT locnam,
locqty
FROM " + DatabaseUtility.LibraryList.I + @".locqtys
UNION
SELECT locdnam AS LOCNAM,
'0' AS LOCQTY
FROM " + DatabaseUtility.LibraryList.I + @".locnames) R
GROUP BY locnam
ORDER BY locnam ASC";
...
So what should be,
example:
Loc1 30
Loc2 12
Loc3 0
Loc4 6
はビーイングを終わる:
example:
Loc1 25
Loc2 8
Loc3 0
Loc4 3
総額は実際よりも低いです...私は何を間違っていますか?あなたがleft join
を探している
そうでした!同じ場所と数で異なる行がある可能性があることを考慮に入れなかった...ありがとう! – eaglei22