比如
一个是用户列表
UserID
1
2
3
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
需要按访问次数来排列,但是直接用访问次数表来查询的话,可能有些用户没数据。该如何写查询语句呢?
一个是用户列表
UserID
1
2
3
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
需要按访问次数来排列,但是直接用访问次数表来查询的话,可能有些用户没数据。该如何写查询语句呢?
left join t2 on t1.userid = t2.userid
order by t2.num desc
num列查出来的值是NULL的你自己再处理下就可以了。
from 用户列表 as a
left join 次数列表 as b
on a.UserId=b.UserId
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
a.* from 用户列表 as a
left join 次数列表 as b
on a.UserId=b.UserId
就可以了,谢谢了啊