SELECT a.DEPT_CD,a.DEPT_NAME,a.DEPT_MANAGER,a.DEPT_START_YMD,a.DEPT_RANK,a.SUPER_DEPT,a.DEPT_STATUS,a.UPDATER,a.UPDATE_TIME,COUNT(*) FROM 
       DEPT_INFO a left JOIN EMPLOYEE_INFO b ON a.DEPT_CD=b.DEPT1_CD or a.DEPT_CD=b.DEPT2_CD or a.DEPT_CD=b.DEPT3_CD 
       GROUP BY a.DEPT_CD,a.DEPT_NAME,a.DEPT_MANAGER,a.DEPT_START_YMD,a.DEPT_RANK,a.SUPER_DEPT,a.DEPT_STATUS,a.UPDATER,a.UPDATE_TIME  如何做到a表中的部门在b表中没有数据,则记录为0, 也就是如何去掉那个记录部门本身的那一条数据  求指点       

解决方案 »

  1.   

    不要left join,用join试试!
      

  2.   

    把left join改成right join
      

  3.   

    COUNT(*) 改为Count(a.DEPT_CD)试试
      

  4.   

     count(b.dept1.cd)似乎这样可以,测试中,谢谢各位解答
      

  5.   

    count(b.dept1.cd)
    用join 不用left join
      

  6.   


    use dbx;
    godeclare @a table(id int );
    declare @b table(id int);
    insert into @a select 1 union all select 2;insert into @b select 2;select * from @a a left join @b b on a.id=b.id;select * from @a a join @b b on a.id=b.id;/*
    (1 行受影响)
    id          id
    ----------- -----------
    1           NULL
    2           2(2 行受影响)id          id
    ----------- -----------
    2           2*/