我希望在select_sum语句之前有一个where in语句


I would like to have an where in statement before the select_sum statement

我希望在select_sum语句之前有一个where in语句。因为我想根据$项目获得不同的金额。现在,它只是将所有数组变量计算为一个和。

我在代码点火器中这样做。

型号:

 function rapport_detail_opbrengsten($idKlant){
                $this->db->from('Project');
                    $this->db->join('Opbrengsten', 'Opbrengsten.idProject = Project.idProject');
    if ($idKlant > 0){
            $this->db->where('idKlant', $idKlant);}
             $query = $this->db->get();
             $project = array();
                foreach($query->result() as $row){
                    $project[] = $row->idProject;
                }
                    $this->db->select_sum('Prijs'); 
                    $this->db->from('Opbrengsten');
                                $this->db->where_in('idProject', $project);
                     $query = $this->db->get();
            if($query->num_rows()>0){
                return $query->result();
             }
            else{
                 return false;
             }
         }

select_sum对所有行进行分组。。因此,如果按照其他条件手动对行进行分组,则不会有任何效果。试试这个

$this->db->select('idProject, SUM(Prijs) as total'); 
$this->db->from('Opbrengsten');
$this->db->where_in('idProject', $project);
$this->db->group_by('idProject');
$query = $this->db->get();