根据产品尺寸显示可用库存

时间:2018-07-18 18:20:21

标签: sql-server

我想根据产品的不同尺寸显示产品库存。例如小型,大型,中型等 我应用查询来解决它,但它显示了我的总购买和销售。

SELECT PRODUCT_NAME
  , PRODUCT_SIZE
  , ISNULL((   SELECT SUM(PRODUCT_QUANTITY)
               FROM tblOrderDetail AS D2
               INNER JOIN tblOrderMaster AS M
                   ON M.ORDER_MID = D2.ORDER_MASTER_FID
               WHERE D2.PRODUCT_FID = D1.PRODUCT_FID
               AND ORDER_TYPE = 'Purchase')
      , 0) AS TOTAL_PURCHASE
  , ISNULL((   SELECT SUM(PRODUCT_QUANTITY)
               FROM tblOrderDetail AS D2
               INNER JOIN tblOrderMaster AS M
                   ON M.ORDER_MID = D2.ORDER_MASTER_FID
               WHERE D2.PRODUCT_FID = D1.PRODUCT_FID
               AND ORDER_TYPE = 'Sale')
      , 0) AS TOTAL_SALE
  , ISNULL((   SELECT SUM(PRODUCT_QUANTITY)
               FROM tblOrderDetail AS D2
               INNER JOIN tblOrderMaster AS M
                   ON M.ORDER_MID = D2.ORDER_MASTER_FID
               WHERE D2.PRODUCT_FID = D1.PRODUCT_FID
               AND ORDER_TYPE = 'Purchase')
      , 0) - ISNULL((   SELECT SUM(PRODUCT_QUANTITY)
                        FROM tblOrderDetail AS D2
                        INNER JOIN tblOrderMaster AS M
                            ON M.ORDER_MID = D2.ORDER_MASTER_FID
                        WHERE D2.PRODUCT_FID = D1.PRODUCT_FID
                        AND ORDER_TYPE = 'Sale')
               , 0) AS availabeStock
FROM tblOrderDetail AS D1
INNER JOIN tblProducts AS P
    ON P.Product_ID = D1.PRODUCT_FID
INNER JOIN tblOrderMaster AS M
    ON M.ORDER_MID = D1.ORDER_MASTER_FID
WHERE CONVERT(DATE, M.date) BETWEEN '06/26/2018' AND '07/18/2018'
AND DESIGN_TYPE != '-'
GROUP BY D1.PRODUCT_FID, P.PRODUCT_NAME, PRODUCT_SIZE;

问题是查询选择了产品的总库存。但是我需要根据不同的大小选择库存。任何帮助将不胜感激。

0 个答案:

没有答案
相关问题