明细表结构:
品名 所属仓库 发货日期 发货数量 发货单价
要求根据明细表生成如下汇总表(按品名和所属仓库分类汇总:)
我自己写了一个( group by 品名,所属仓库 with rollup)品名 所属仓库 本月销量 本月价格 本月应收款 累计销量 累计价格 累计应收款
商品A 库1 2 5 10 42 6 252
商品A 库2 3 4 12 12 5 60
小计 5 22 54 312
....................
合计
注:
本月销量:本月 “发货数量”求和
本月应收款:本月 “发货数量”*“发货单价”求和
本月价格:本月应收款/本月销量累计销量:所有 “发货数量”求和
累计应收款:所有 “发货数量”*“发货单价”求和
累计价格:"累计应收款"/"累计销量"
品名 所属仓库 发货日期 发货数量 发货单价
要求根据明细表生成如下汇总表(按品名和所属仓库分类汇总:)
我自己写了一个( group by 品名,所属仓库 with rollup)品名 所属仓库 本月销量 本月价格 本月应收款 累计销量 累计价格 累计应收款
商品A 库1 2 5 10 42 6 252
商品A 库2 3 4 12 12 5 60
小计 5 22 54 312
....................
合计
注:
本月销量:本月 “发货数量”求和
本月应收款:本月 “发货数量”*“发货单价”求和
本月价格:本月应收款/本月销量累计销量:所有 “发货数量”求和
累计应收款:所有 “发货数量”*“发货单价”求和
累计价格:"累计应收款"/"累计销量"
http://topic.csdn.net/u/20091130/21/fb718680-98ff-4afb-98d8-cff2f8293ed5.html?24281
case when grouping(品名)=1 then '小计' else 品名 end 品名,
所属仓库,
本月销量=sum(发货数量),
本月价格= sum(发货数量*发货单价) *1.0 / sum(发货数量),
本月应收款 = sum(发货数量*发货单价),
累计销量= (select sum(发货数量) from 明细表 where 品名=a.品名 and 所属仓库=a.所属仓库 and convert(varchar(7),发货日期,120)<=convert(varchar(7),a.发货日期,120) ),
累计价格= (select sum(发货数量*发货单价) *1.0 / sum(发货数量) from 明细表 where 品名=a.品名 and 所属仓库=a.所属仓库 and convert(varchar(7),发货日期,120)<=convert(varchar(7),a.发货日期,120) ),
累计应收款 =(select sum(发货数量*发货单价) from 明细表 where 品名=a.品名 and 所属仓库=a.所属仓库 and convert(varchar(7),发货日期,120)<=convert(varchar(7),a.发货日期,120) )
from 明细表 a
group by 品名,所属仓库,convert(varchar(7),发货日期,120) with rollup