Select a.产品编号,Sum(a.数量) as 总入库数量 ,Sum(b.数量) as  总出库数量, 
(sum(a.数量)-sum(b.数量)) as  库存量 from
(Select 产品编号,Sum(数量) as 总入库数量 
from 入库单明细
Group by 产品编号) a inner join (Select 产品编号,Sum(数量) as 总出库数量 
from 出库单明细
Group by 产品编号) b
on on a.产品编号=b.产品编号

解决方案 »

  1.   

    sorry
    更正
    Select a.产品编号,a.总入库数量 ,b.总出库数量, 
    a.总入库数量-b.总出库数量 as  库存量 from
    (Select 产品编号,Sum(数量) as 总入库数量 
    from 入库单明细
    Group by 产品编号) a inner join (Select 产品编号,Sum(数量) as 总出库数量 
    from 出库单明细
    Group by 产品编号) b
    on on a.产品编号=b.产品编号
      

  2.   

    select a.产品名称,a.入库产品数量,b.出库产品数量,a.入库产品数量-b.出库产品数量 总数量 from (select 产品名称,sum(入库产品数量) 入库产品数量 from A表  group by 产品名称) a join (select 产品名称,sum(出库产品数量) 出库产品数量 from B表  group by 产品名称) b on a.产品名称=b.产品名称
      

  3.   

    对了,应该用左联接
    再更正Select a.产品编号,a.总入库数量 ,ISNULL(b.总出库数量,0) as 总出库数量, 
    a.总入库数量-ISNULL(b.总出库数量,0) as  库存量 from
    (Select 产品编号,Sum(数量) as 总入库数量 
    from 入库单明细
    Group by 产品编号) a left join (Select 产品编号,Sum(数量) as 总出库数量 
    from 出库单明细
    Group by 产品编号) b
    on on a.产品编号=b.产品编号
      

  4.   

    Select a.产品编号,
           Sum(isnull(a.数量,0)) as 总入库数量 ,
           Sum(isnull(b.数量,0)) as  总出库数量, 
           (sum(isnull(a.数量,0))-sum(isnull(b.数量,0))) as  库存量 
    from 入库单明细 a full join 出库单明细 b 
    on a.产品编号=b.产品编号
    Group by a.产品编号
      

  5.   

    Select isnull(a.产品编号,b.产品编号) as  产品编号,
           Sum(isnull(a.数量,0)) as 总入库数量 ,
           Sum(isnull(b.数量,0)) as  总出库数量, 
           (sum(isnull(a.数量,0))-sum(isnull(b.数量,0))) as  库存量 
    from 入库单明细 a full join 出库单明细 b 
    on a.产品编号=b.产品编号
    Group by isnull(a.产品编号,b.产品编号)
      

  6.   

    select a.产品名称,a.入库产品数量,b.出库产品数量,a.入库产品数量-b.出库产品数量 总数量 from (select 产品名称,isnull(sum(入库产品数量),0) 入库产品数量 from A表  group by 产品名称) a join (select 产品名称,isnull(sum(出库产品数量),0) 出库产品数量 from B表  group by 产品名称) b on a.产品名称=b.产品名称
      

  7.   

    select isnull(a.产品名称,b.产品名称) as 产品名称,isnull(a.总入库数量,0) as 总入库数量,isnull(b.总出库数量,0) as 总出库数量 
    from (
    select 产品名称,sum(数量) as 总入库数量 from 入库单明细 group by 产品名称
    ) as a full join 
    (
    select 产品名称,sum(数量) as 总出库数量 from 出库单明细 group by 产品名称
    ) as b
    on a.产品名称=b.产品名称
      

  8.   

    select isnull(a.产品名称,b.产品名称) as 产品名称,isnull(a.总入库数量,0) as 总入库数量,isnull(b.总出库数量,0) as 总出库数量,isnull(a.总入库数量,0)-isnull(b.总出库数量,0) as 库存量 
    from (
    select 产品名称,sum(数量) as 总入库数量 from 入库单明细 group by 产品名称
    ) as a full join 
    (
    select 产品名称,sum(数量) as 总出库数量 from 出库单明细 group by 产品名称
    ) as b
    on a.产品名称=b.产品名称
      

  9.   

    这个方法也值得一试。select 产品名称,sum(入库数量) as 入库总数量,sum(出库数量) as 出库总数量,
                    sum(入库数量)-sum(出库数量) as 库存from (
          select 产品名称,入库数量=数量,出库数量=0 from 入库单明细
          union all
          select 产品名称,入库数量=0,出库数量=数量 from 出库单明细
         ) as agroup by 产品名称