将数学函数添加到 SQL 查询
Add Math function to SQL Query
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
是您正在寻找的能够使用聚合函数进行过滤的技巧。
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
是您正在寻找的能够使用聚合函数进行过滤的技巧。