+ -
当前位置:首页 → 问答吧 → 【【【如何让count(*)为0的字段也显示?】】】

【【【如何让count(*)为0的字段也显示?】】】

时间:2011-08-27

来源:互联网

表:team - 字段: id、title、city_id、d_time、user_id
表:category - 字段: id、name

数据:
team:
id | title | city_id | d_time | user_id |
1 | 测试 | 1 | 131452 | 7 |
2 | 测试 | 2 | 123452 | 9 |
3 | 测试 | 3 | 171452 | 9 |  
4 | 测试 | 1 | 161452 | 3 |
5 | 测试 | 1 | 121452 | 3 |
6 | 测试 | 2 | 141452 | 7 |

category:

id | name |
1 | 湖南
2 | 深圳
3 | 广州
4 | 杭州
5 | 东北
6 | 北京


where 条件是:
where d_time > 141452 and user_id = 7


现在查询出来后,count(team.id)为0的记录不显示,郁闷死我..
查询后的结果是:
name | count(team.id) |
  湖南 | 3
  深圳 | 2
  广州 | 1

最后想显示的结果是这样的:
name | count(team.id) |
  湖南 | 3
  深圳 | 2
  广州 | 1
  杭州 | 0
  东北 | 0
  北京 | 0

用了left join 或 right join 也不行..

总之就是count为0的数据,也要显示出来..
求大神指点....

作者: jauia   发布时间: 2011-08-27

SQL code
Select a. name,count(*)
From category a left join (select * from team where d_time > 141452  and user_id = 7) b on a. city=b. city
Group by a. name

作者: ACMAIN_CHM   发布时间: 2011-08-27