显示该扣分的用户和贴子信息,供参考
select 
  t.MemberID,
  t.TopicID,
  (getdate()-t.AddedDate) 未结贴时间 
from Topics t,Reply r,Member m 
where t.TOpicID=r.TopicID and 
      m.MemberID=t.MemberID and 
      未结贴时间>三个月 and 
      t.IsClosed=0 
group by t.MemberID,t.TopicID,t.AddedDate
having sum(r.ReplyID)>3
       
      

解决方案 »

  1.   

    Communism(星星)的答复正好和我同时发出,结果排在后面了。
      

  2.   

    请问Communism(星星),那怎么同时在Member表中减去该用户的信誉分呢?
      

  3.   

    这样如何?declare @tempID
    select 
      @tempID=t.MemberID,
      t.TopicID,
      (getdate()-t.AddedDate) 未结贴时间 
    from Topics t,Reply r,Member m 
    where t.TOpicID=r.TopicID and 
          m.MemberID=t.MemberID and 
          未结贴时间>三个月 and 
          t.IsClosed=0 
    group by t.MemberID,t.TopicID,t.AddedDate
    having sum(r.ReplyID)>3update member set credits=credits-5 where memberID=@@tempID
      

  4.   

    很明顯是用存儲過程,用觸發器會影響效率.而且csdn是定期清理舊數據.根本不用考慮觸發器