请问各位高手帮忙:我有两个表:一个是gss_documen_cate(文档分类表),另一个是gss_documentation文档表 
第一个表的字段有:cate_id,user_id,document_types(分类名),第二个表有:user_id,document_types(文档分类名),document_name(文档名),document_title(文档标题),document_content(文档内容), 
我现在想统计:gss_documen_cate(文档分类表)下面,每一个分类创建了多少文档(即统计gss_documentation表),如果gss_documen_cate分类在gss_documentation没有创建文档就输出0 
sql语句怎么样写 (查询条件是根据user_id=18)

解决方案 »

  1.   

    select a.document_types,count(b.document_types)
    from gss_documen_cate a left join (select document_types from gss_documentation where user_id=18) b
    on a.document_types=b.document_types
      

  2.   

    请问各位高手帮忙:我有两个表:一个是gss_documen_cate(文档分类表),另一个是gss_documentation文档表 
    第一个表的字段有:cate_id,user_id,document_types(分类名),第二个表有:user_id,document_types(文档分类名),document_name(文档名),document_title(文档标题),document_content(文档内容), 
    我现在想统计:gss_documen_cate(文档分类表)下面,每一个分类创建了多少文档(即统计gss_documentation表),如果gss_documen_cate分类在gss_documentation没有创建文档就输出0 
    sql语句怎么样写 (查询条件是根据gss_documen_cate.user_id=18)
      

  3.   

    select a.document_types,count(b.document_types) from gss_documen_cate a left join gss_documentation b on a.document_types=b.document_types where a.user_id=18 group by a.document_types;
      

  4.   


     select a.document_types,b.num from gss_documen_cate a
     left join(
     select user_id,document_types,count(*) num from
     gss_documentation group by document_types)b
     on a.document_types=b.document_types and a.user_id=b.user_id
     where a.user_id=18;
      

  5.   

    或者简单点儿select document_types,(select count(*) from gss_documentation where user_id=18)
    from gss_documen_cate