我想在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;
}
}
答案 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();