不积跬步,无以至千里

博客园 首页 新随笔 联系 订阅 管理

desc job_t;
Name             Type         Nullable Default Comments                                                               
---------------- ------------ -------- ------- ----------------------------------------------------------------------
job_id           number(11)                      not null,
user_id          number(11)
title            varchar2(100)

desc user_t;
Name             Type         Nullable Default Comments                                                               
---------------- ------------ -------- ------- ----------------------------------------------------------------------
user_id          number(11)                      not null,
username         varchar2(30)




select * from  job_t;
  job_id  user_id   title
--------  --------- -------------------------------------------
       1  2         title1
       1  2         title2
       1  3         title3
       1  1         title4
       1  1         title5

select * from  user_t;
 user_id   username
--------  -------------------------------
       1   jack
       2   tom
       3   henry
       4   joe       

我想达到的效果,没有任务的用户名也显示出来,统计数量为0,请问这样的结果怎么能出来?

username  count(job_id)
--------  -------------------------------
jack      2
tom       2
henry     1
joe       0

解决办法:

select b.username,
       count((a.job_id))
  from job_t a,
       user_t b
where b.user_id = a.user_id(+)
group by b.username, b.user_id
order by b.user_id

posted on 2017-03-09 19:23  Zeroassetsor  阅读(110)  评论(0)    收藏  举报