SQL新手,我正在尝试运行一个查询,提取我们所有的项目代码,批号和数量。
由于调整,每个批号都有多个条目。我需要一种运行我的查询并添加或减去以获得每个批次的实际数量的方法,并且只显示我在阴性中的批次。我曾尝试过使用SSRS,但我无法正确使用它。我正在使用SQL 2008R2。
SELECT
IMLAYER.ITEM_CODE
,IMMSTR.ITEM_DESC
,IMLAYER.LOT_NO
,IMLAYER.QTY_ON_HAND
FROM
IMLAYER
INNER JOIN
IMMSTR
ON
IMLAYER.ITEM_CODE = IMMSTR.ITEM_CODE
WHERE
(IMLAYER.QTY_ON_HAND < 0);
我相信我理解正确的要求,但如果没有请注释,我可以更新查询:
SELECT
M.ITEM_CODE
,M.ITEM_DESC
,L.LOT_NO
,'SUM_OF_QTY_ON_HAND' = SUM(L.QTY_ON_HAND)
FROM
IMLAYER L
INNER JOIN
IMMSTR M
ON L.ITEM_CODE = M.ITEM_CODE
GROUP BY
M.ITEM_CODE
,M.ITEM_DESC
,L.LOT_NO
HAVING
SUM(L.QTY_ON_HAND) < 0
HAVING
是您正在寻找能够使用聚合函数进行过滤的技巧。