SELECT COALESCE(csv.存货编码, osv.存货编码, isv.存货编码, '') AS 存货编码,
COALESCE(csv.仓库编码, osv.仓库编码, isv.仓库编码, '') AS 仓库编码,
COALESCE(csv.批号, osv.批号, isv.批号, '') AS 批号,
COALESCE(csv.序列号, osv.序列号, isv.序列号, '') AS 序列号,
SUM(COALESCE(csv.结存数量, 0) + COALESCE(osv.出库数量, 0) - COALESCE(isv.入库数量, 0)) AS 数量
FROM
(
SELECT COALESCE(存货编码, '') AS 存货编码,
COALESCE(仓库编码, '') AS 仓库编码,
COALESCE(批号, '') AS 批号,
COALESCE(序列号, '') AS 序列号,
COALESCE(结存数量, 0) AS 结存数量
FROM CurrentStockView
) csv
FULL OUTER JOIN
(
SELECT COALESCE(存货编码, '') AS 存货编码,
COALESCE(仓库编码, '') AS 仓库编码,
COALESCE(批号, '') AS 批号,
COALESCE(序列号, '') AS 序列号,
COALESCE(出库数量, 0) AS 出库数量