表如: 库存(ID, 仓储位, 进料日期, 库存)
如果这样你必须考虑到同ID的会因为不同的进料日期会有多笔资料!

解决方案 »

  1.   

    增加一个账龄表就可以了:账龄表id(PK)  区间名称   开始时间   结束时间(按天,-1表示没有这个条件不限制)
    ------- ---------- ---------- ----------
    1       <1个月     -1         30         
    2       1~2个月    31         60
    3       3~6个月    61         180
    4       半年以上   181        -1
      

  2.   

    --统计的时候用类似下面的方法:--查询欠款
    create proc p_qry
    as
    declare @s varchar(8000)
    set @s=''
    select @s=@s+',['+区间名称+']=sum(case when '
    +case 
    when 开始时间=-1 then '1=1'
    else ' 日期<='''+convert(varchar(10),dateadd(day,-开始时间,getdate()),120)+''''
    end
    +case 
    when 结束时间=-1 then ''
    else ' and 日期>='''+convert(varchar(10),dateadd(day,-结束时间,getdate()),120)+''''
    end
    +' then 金额 else 0 end)'
    from 账龄表
    exec('select 客户名称'+@s+' from 欠款表')
    go
      

  3.   

    谢谢zjcxc(邹建),最近帮了不少的忙。