需要leftJoin 关联一个可能为空的表,设置IFNULL(COUNT(a.id),0)
RT 上代码
return $this->alias("a")
->join("loan_co b","a.loan_co_a=b.id")
->join("loan_co c","a.loan_co_b=c.id")
->leftJoin("loan_hk d","a.id=d.lid")
->where($where)
->field("a.*,b.name as aname,c.name as bname,IFNULL(sum(d.hk_money),0) as pk")
->group("a.id")
->select();
范例二
反复调用field(“a.*,IFNULL(SUM(b.number),0) as done_number,ROUND(100*(number-done_number)/number,2)”)
- IFNULL(SUM(b.number),0) as done_number
- ROUND(100*(number-done_number)/number,2)
public function show_ones($id){
// 对大资产ID下的信息全部查询
$PropertyOne=new PropertyOneModel();
$where[]=['a.pid',"=",$id];
return $PropertyOne->alias("a")
->leftJoin("lease b","b.po_id=a.id")
->where($where)
->field("a.*,IFNULL(SUM(b.number),0) as done_number,ROUND(100*(number-done_number)/number,2)")
->group("a.id")
->select();
}