同一种产品,但供应商不同,要求明细台帐按供应商区分,如果不按供应商分类的话我是这样,select 产品id from 产品表 left join... //这样可以保证产品信息完整如果要求明细台帐按供应商区分,该如何写呢?

解决方案 »

  1.   


    不一样吧!要这种结果:产品   供应商    入库数量    出库数量   结存数量产品A  供应商A    1000        500         500
    产品A  供应商B    500         100         400
    ...  
      

  2.   

    最好给出完整的表结构,测试数据,计算方法和正确结果.发帖注意事项
    http://topic.csdn.net/u/20091130/21/fb718680-98ff-4afb-98d8-cff2f8293ed5.html?24281
      

  3.   

    受教:
    产品表(产品id,产品名称)
    入库表(入库日期,产品id,供应商,入库数量)
    出库表(出库日期,产品id, 供应商,出库数量)
    结果:
    产品 供应商 入库数量 出库数量 结存数量产品A 供应商A 1000 500 500
    产品A 供应商B 500 100 400
    ... 
      

  4.   


    select isnull(t1.产品 , t2.产品) 产品,
           isnull(t1.供应商 , t2.供应商) 供应商,
           isnull(t1.入库数量,0) 入库数量,
           isnull(t2.出库数量,0) 出库数量,
           isnull(t1.入库数量,0) - isnull(t2.出库数量,0) 结存数量 
    from
    (select m.产品名称 产品 , n.供应商 , sum(入库数量) 入库数量 from 产品表 m , 入库表 n where m.产品id = n.产品id group by m.产品名称 , n.供应商) t1
    full join
    (select m.产品名称 产品 , n.供应商 , sum(出库数量) 出库数量 from 产品表 m , 出库表 n where m.产品id = n.产品id group by m.产品名称 , n.供应商) t2
    on t1.产品 = t2.产品 and t1.供应商 = t2.供应商