SELECT * FROM FEELOG as a
where not exists(Select * from FEELOG 
                 where a.USERID=USERID and FeeDate>a.FeeDate)
      and Datediff(day,getdate(),INEFFECT)<30

解决方案 »

  1.   

    select * from feelog a
    where  FREEDATE=(select max( FREEDATE) from feelog where userid=a.userid) --条件1
    and  datediff(d,getdate(),ineffect)<30   --条件2
      

  2.   

    SELECT a.* FROM tb a
    INNER JOIN
    (SELECT UserID,MAX(InEffect) mi FROM tb GROUP BY UserID) b
    ON a.UserID=b.UserID AND a.InEffect=b.mi
    WHERE DATETEDIFF(dd,mi,GETDATE())<30

    可能有手误.自己改改.
      

  3.   

    and  datediff(d,getdate(),ineffect)<30   --条件2
    最好改成
    and  ineffect<datediff(d,30,getdate())   --条件2
      

  4.   

    上面的条件打反了.WHERE DATETEDIFF(dd,GETDATE(),mi)<30
      

  5.   

    SELECT a.* FROM tb a
    INNER JOIN
    (SELECT UserID,MAX(InEffect) mi FROM tb GROUP BY UserID) b
    ON a.UserID=b.UserID AND a.InEffect=b.mi
    WHERE DATETEDIFF(dd,GETDATE(),mi)<30唉,为了抢分啊,都漏洞百出.
      

  6.   

    fcuandy(http://www.idotnet.org/down/mssql.doc) 
    唉,为了抢分啊,都漏洞百出.
    -------------------------------------------------
    fcuandy(不抢分了,是不可能地) 还抢,再抢就要上黑榜了:)
    呵呵,我都不抢了~~~
      

  7.   

    好多答案啊,可惜我在SQL里面执行的结果没一个是正确的
      

  8.   

    楼主是已先看看
    select *,datediff(d,getdate(),ineffect) as 天数 from FEELOG方法楼上的都说了……
      

  9.   

    fcuandy(http://www.idotnet.org/down/mssql.doc) 的

    SELECT a.* FROM feelog a
    INNER JOIN
    (SELECT UserID,MAX(InEffect) mi FROM feelog GROUP BY UserID) b
    ON a.UserID=b.UserID AND a.InEffect=b.mi
    WHERE DATEDIFF(dd,GETDATE(),mi)<30

    是对的!