SQL Server 2005 - 计数时返回0

时间:2014-08-21 03:04:25

标签: sql sql-server sql-server-2005

假设我有3张桌子

Status
ID  Value
1 - Active
2 - Inactive
3 - Pending

Users
ID  Value
1 - John
2 - Bryan

UserStatus
ID_Status   ID_USER
1              1
2              3

我想返回每个状态有多少用户,但在这种情况下,Inactive上有0个用户,我确实需要返回结果集中的用户,因此,对于这种情况,它应该返回Active(1) - 待定(1)和非活动(0) 什么是最好的方法来实现这个目标?

1 个答案:

答案 0 :(得分:0)

使用left join

select s.value, count(us.id_status)
from status s left join
     userstatus us
     on s.id = us.id_status
group by s.value;