据说使用Count之类的函数时,不能和字端同时查出,如果想使用的话,需要使用笛卡尔集,合并两个查询,能够同时得出这样的结果。

解决方案 »

  1.   

    少了group by语句和FROM之前少了一个空间$query = "SELECT c.code, c.chi_name, c.level, count(p.no) as total, count(j.no) as drtre ";
    $query.= "FROM category_j_cn c LEFT JOIN company_j_cn p ON c.code=p.code  LEFT JOIN job_cn j ON c.code=j.code group by c.code, c.chi_name, c.level";
      

  2.   

    楼上说得没错,确实少了个空格不过我的$obj[total1]取出来怎么是2阿,数据库里明明只有一个
    会是什么原因呢,total是正确的
    $query = "SELECT c.code, c.chi_name, c.level, count(p.no) as total, count(j.no) as total1 ";
    $query.= "FROM category_j_cn c LEFT JOIN company_j_cn p ON c.code=p.code  LEFT JOIN job_cn j ON c.code=j.code ";if(empty($code)) $query.= "GROUP BY LEFT(c.code,3)";
    if(strlen($code)==3) $query.= "WHERE LEFT(c.code,3)='$code' GROUP BY LEFT(c.code,5) HAVING level=2";
    if(strlen($code)==5) $query.= "WHERE LEFT(c.code,5)='$code' GROUP BY LEFT(c.code,7) HAVING level=3";
      

  3.   

    这两个可能是一样的。这与group by有关。
    如果是group by j.no 就不会了。