クエリに関するヘルプ、またはそれをカバーする回答へのリンクが必要です。
私は2つのテーブルを持っていますSTOCK_ITEMS
:STOCK_LOC_INFO
STOCK_ITEMS
多くのフィールドがありますが、関心のある 2 つはSTOCKCODE
とSTOCK_CLASSIFICATION
STOCK_LOC_INFO
すべての在庫場所 (11 か所) に対するすべての在庫場所のレコードが含まれていますSTOCKCODE
STOCK_ITEMS
:
item1,class 1
item2,class 2
item3,class 1
STOCK_LOC_INFO
item1,location1,qty1
item1,location2,qty2
item1,location3,qty3
など、証券コードごとに 11 行を繰り返します。
今... 11 か所のうち 5 か所で、特定のクラスの在庫コード (数量が 0 より大きい) がいくつあるかを調べたいと考えています。私はこれを試しました:
select COUNT(SOH.STOCKCODE)
from dbo.STOCK_ITEMS SOH
Inner join STOCK_LOC_INFO SLI
on SOH.STOCKCODE = SLI.STOCKCODE
where SLI.QTY > 0 and SLI.LOCATION in(1,2,3,9,11)
9790 という結果が得られました - これは高すぎます (約 900 と予想されます)。これは、必要な部品番号が 0 を超えて Stock Loc テーブルに表示されるたびにカウントされるためです...しかし、各ストックコードに対して yes または no のみが必要です。各数量ではありません。
COUNTIF などが必要だと思います。私はとても迷っています!
どんな助けでも大歓迎です。