SELECT a.ID, c.物品名称 AS 名称, a.总数, a.总数+c.数量-b.数量 AS 在库, [安全库存],[优选],[试作号],[型号], [封装], [厂商],[说明],[名称编号],[所属类别],[类别编号]
FROM
(
(
(SELECT ID,sum(数量) as 总数 from inputDetail group by id) AS a
LEFT JOIN BorrowTable AS b ON a.id=b.借用物品编号
)
LEFT JOIN GivebackTable AS c ON a.id=c.物品编号
)
LEFT JOIN
( SELECT [ID],nz([InputDetail.安全库存],'') as 安全库存,[优选],[归属],nz([InputDetail.试作号],'') as 试作号,nz([InputDetail.型号],'') as 型号, nz([InputDetail.封装],'') as 封装,nz([InputDetail.厂商],'') as 厂商,
nz([InputDetail.说明],'')as 说明,[名称编号],[所属类别],[类别编号] FROM InputDetail GROUP BY [ID],nz([安全库存],'') ,[优选],[归属],nz([试作号],'') ,nz([InputDetail.型号],'') , nz([InputDetail.封装],''),nz([InputDetail.厂商],'') ,
nz([说明],'') ,[名称编号],[所属类别],[类别编号]
)
AS d ON a.id=d.id
FROM
(
(
(SELECT ID,sum(数量) as 总数 from inputDetail group by id) AS a
LEFT JOIN BorrowTable AS b ON a.id=b.借用物品编号
)
LEFT JOIN GivebackTable AS c ON a.id=c.物品编号
)
LEFT JOIN
( SELECT [ID],nz([InputDetail.安全库存],'') as 安全库存,[优选],[归属],nz([InputDetail.试作号],'') as 试作号,nz([InputDetail.型号],'') as 型号, nz([InputDetail.封装],'') as 封装,nz([InputDetail.厂商],'') as 厂商,
nz([InputDetail.说明],'')as 说明,[名称编号],[所属类别],[类别编号] FROM InputDetail GROUP BY [ID],nz([安全库存],'') ,[优选],[归属],nz([试作号],'') ,nz([InputDetail.型号],'') , nz([InputDetail.封装],''),nz([InputDetail.厂商],'') ,
nz([说明],'') ,[名称编号],[所属类别],[类别编号]
)
AS d ON a.id=d.id
SQL库存查询技巧
本文介绍了一种复杂的SQL查询方法,用于精确地计算库存中物品的实际数量。通过联接多个表并利用聚合函数,该查询能够准确反映出物品的当前库存状态,包括在库数量及安全库存等关键信息。
6140

被折叠的 条评论
为什么被折叠?



