我想在select_sum语句之前有一个where语句

时间:2014-04-09 08:49:22

标签: php sql codeigniter

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

我在codeigniter中这样做。

模型:

 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;
             }
         }

1 个答案:

答案 0 :(得分:0)

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();