入库格式是:  日期 物品编号    名称    单价   数量现在要按照日期来统计进货情况,格式为:
日期           1              2               3 .....
物品名称 单价 数量 金额 单价 数量 金额  单价 数量 金额...
日期分别为每天的号数

解决方案 »

  1.   

    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) + ']'
    from (select distinct datepart(day,日期) 号 from tb) as a
    set @sql = @sql + ' from tb group by 物品名称 , convert(varchar(7),日期,120)'
    exec(@sql)
      

  2.   

    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)