原本发在SQL SERVER专区的貌似,分少没人问津。
http://bbs.csdn.net/topics/390501367
现在再加200分,
求解决

解决方案 »

  1.   

    with a1 ([sign],[date]) as--明細
    (
    select 1,'2012-01-01' union all
    select 1,'2012-02-06' union all
    select 1,'2012-05-03' union all
    select 1,'2012-06-11' union all
    select 1,'2012-09-01' union all
    select 2,'2012-02-03' union all
    select 2,'2012-04-19' union all
    select 2,'2012-04-23'
    )
    ,a2 ([s_sign],[s_date],[s_n]) as
    (
    select 1,'2012-01-01',2 union all
    select 1,'2012-05-03',2 union all
    select 1,'2012-09-01',1 union all
    select 2,'2012-02-03',3
    )
    select  *
    from a1 a
    inner join a2 b on a.[sign]=b.[s_sign] and DATEDIFF(day,b.[s_date],a.[date]) between 0 and 90
    order by 1,2