比如 
一个是用户列表 
UserID 



4 一个是次数列表(每天访问一次Num+1) 
UserID Day Num 
1 2009-09-22  10 
2 2009-09-22  20 
4 2009-09-22  8 想要的结果是 
2  20 
1  10 
4  8 
3  0 
需要按访问次数来排列,但是直接用访问次数表来查询的话,可能有些用户没数据。该如何写查询语句呢?

解决方案 »

  1.   

    select t2.* from t1
    left join t2 on t1.userid = t2.userid
    order by t2.num desc
    num列查出来的值是NULL的你自己再处理下就可以了。
      

  2.   

    select a.UserId as Userid,isnull(b.Num,0) as Num
    from 用户列表 as a
    left join 次数列表 as b
    on a.UserId=b.UserId
      

  3.   

    2楼的基础上加上排序的就可以了.
    select a.UserId as Userid,isnull(b.Num,0) as Num 
    from 用户列表 as a 
    left join 次数列表 as b 
    on a.UserId=b.UserId
    order by b.Num desc
      

  4.   

    搞定了,select a.UserId as Userid,isnull(b.Num,0) as Num 
    a.* from 用户列表 as a 
    left join 次数列表 as b 
    on a.UserId=b.UserId
    就可以了,谢谢了啊