create  procedure AdminGetUserListByDownTimes
  as
    begin
      select UserID,RegDate,IsFree,CategoryID,Purtime
             from UserInfo a,UserPurview b
       where a.PurviewID=b.PurviewID and UserID 
                                           in( select UserID 
                                               from (select top 20 UserID ,count(UserID) 
                                                     from DownSort 
                                                     group by UserID
                                                     order by count(UserID) desc
                                                     )   A      --这里加上一个别名即可         
                                                ) 
   end
   go

解决方案 »

  1.   

    你的语句可以这么简化一下
    create  procedure AdminGetUserListByDownTimes
      as
        begin
          select UserID,RegDate,IsFree,CategoryID,Purtime
                 from UserInfo a,UserPurview b
           where a.PurviewID=b.PurviewID and UserID 
                                               in(select top 20 UserID 
                                                         from DownSort 
                                                         group by UserID
                                                         order by count(UserID) desc
                                                    ) 
       end
       go