Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/04/2013, 15:06
Avatar de afcf
afcf
 
Fecha de Ingreso: abril-2013
Ubicación: Bogota
Mensajes: 3
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Consulta sentencia sum

intente hacer algo asi:

public function reporte() {
$sql = 'select c.nombrecarrera,
sum(case when b.tiposubsidio = ' . 'total' . ' then 1 else 0 end)total,
sum(case when b.tiposubsidio = ' . 'a' . ' then 1 else 0 end)tipo_a,
sum(case when b.tiposubsidio = ' . 'b' . ' then 1 else 0 end)tipo_b,
sum(case when b.tiposubsidio = ' . 'sin' . ' then 1 else 0 end)sin_subsidio,';
$sql.='from carreras as c, beneficiarios as b where c.idcarrera = b.idcarrera ';
$sql.='group by c.idcarrera;';
return Zend_Db_Table::getDefaultAdapter()->fetchAll($sql);
}

pero no me sirvio y luego hice esto:

public function reporte2() {
$select = Zend_Db_Table::getDefaultAdapter()->select();
$select->from(array('c' => 'carreras'), array('c.nombrecarrera', 'sum' =>'sum(case when b.tiposubsidio = ' . 'total' . ' then 1 else 0 end)total'))
->join(array('b' => 'beneficiarios'), ' c.idcarrera = b.idcarrera');
//$select->where('b.tiposubsidio = ?', 'total');
$select->group("c.idcarrera");
return Zend_Db_Table::getDefaultAdapter()->fetchAll($select);
}

pero igual aun no doy para sacarla y no se en donde estoy fallando.