峰峦@叠嶂 2025-01-13 14:08 采纳率: 98%
浏览 8
已结题

因为出入库数量为零,但库存有数量,导致查询为空的问题

请教一下,在下面的查询中,某个产品,第一段查询,是查询即时库存,有数量,所以能查询出来;第二段查询,是查询出入库数量,因为该产品近期没有出入库,所以查询不出内容,现在它们组合在一起,查询内容为空,请问如何修改一下,可以保证,即使出入库数量为零,因有库存数量,也能正常查询出来呢;


SELECT  t.proName,t.Fmodel,t.DayInAmount,t.MonthInAmount,t.YearInAmount,t.DayOutAmount,t.MonthOutAmount,t.YearOutAmount,
(   
    SELECT SUM(t1.FQty) -- 查询即时库存数量
    FROM ICInventory t1
    JOIN t_icitem t2 ON t2.FItemID = t1.FItemID
    JOIN t_StockPlace t4 ON t4.FSPID = t1.FStockPlaceID
    WHERE t4.FSPID IN ('1')  
    AND t2.FName = '橘红梨膏'
    AND t2.FModel = '200g'  
) AS StockQuantity

 from(SELECT----查询出入库数量
    proName,Fmodel,SUM(DayInAmount) AS DayInAmount,SUM(MonthInAmount) AS MonthInAmount, SUM(YearInAmount) AS YearInAmount, SUM(DayOutAmount) AS DayOutAmount,sum(MonthOutAmount) AS MonthOutAmount,sum(YearOutAmount) AS YearOutAmount
    FROM (

  SELECT DISTINCT  t3.FName AS proName, t3.Fmodel AS Fmodel, SUM(t1.FQty) AS DayInAmount, 0 AS MonthInAmount, 0 AS YearInAmount,0 AS DayOutAmount,0 AS MonthOutAmount,0 AS YearOutAmount
    FROM
        ICStockBill t2
        JOIN ICStockBillEntry t1 ON t1.FInterID = t2.FInterID
        JOIN t_icitem t3 ON t3.FItemID = t1.FItemID
        JOIN ICTransactionType t5 ON t2.FTranType = t5.FID
        JOIN t_StockPlace t4 ON t4.FSPID = t1.FDCSPID
    WHERE
        t2.FTranType = '2' AND t4.FSPID IN ('1', '2')   AND t2.FDate = '2025-1-13' and t3.FName IN ('橘红梨膏') and t3.Fmodel IN ('200g')
    GROUP BY t3.FName, t3.FModel)  
        AS subquery

GROUP BY  proName, Fmodel)  as t
  • 写回答

4条回答 默认 最新

  • 峰峦@叠嶂 2025-01-13 17:41
    关注

    这些都不太适合,用了个好办法,将内容拆分,查询出结果后,再拼接成一张综合表,就搞定了;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 1月21日
  • 已采纳回答 1月13日
  • 创建了问题 1月13日