日期:2014-05-18  浏览次数:20489 次

日进货统计表
入库格式是:     日期   物品编号         名称         单价       数量

现在要按照日期来统计进货情况,格式为:
日期                       1                             2                               3   .....
物品名称   单价   数量   金额   单价   数量   金额     单价   数量   金额...


日期分别为每天的号数


------解决方案--------------------
declare @sql varchar(8000)
set @sql = 'select 物品名称 , convert(varchar(7),日期,120) 月份 '
select @sql = @sql + ' , max(case datepart(day,日期) when ' ' ' + cast(号 as varchar) + ' ' ' then 单价 end) [单价 ' + cast(号 as varchar) + '] '
+ ' , max(case datepart(day,日期) when ' ' ' + cast(号 as varchar) + ' ' ' then 数量 end) [数量 ' + cast(号 as varchar) + '] '
+ ' , max(case datepart(day,日期) when ' ' ' + cast(号 as varchar) + ' ' ' then 金额 end) [金额 ' + cast(号 as varchar) + '] '
from (select distinct datepart(day,日期) 号 from tb) as a
set @sql = @sql + ' from tb group by 物品名称 , convert(varchar(7),日期,120) '
exec(@sql)