我需要有关查询的帮助,或包含该问题的答案的链接:
我有两张桌子:STOCK_ITEMS
和STOCK_LOC_INFO
STOCK_ITEMS
有很多领域,但感兴趣的两个是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),因为每次所需的零件编号出现在 Stock Loc 表中且超过 0 时,它都会计数......但我只想要每个股票代码的“是”或“否”,不是每个数量。
我怀疑它需要一个 COUNTIF 或类似的。我只是迷路了!
非常感谢任何帮助。