if(isset($params[id_peri]) && $params[id_peri]!='%'){ $query=str_replace("/*ID_PERI*/",$params[id_peri],$query); }

$rs2=$con->query($query);
$accionP=$con->result($rs2,0,0);
switch($accionP){
	case 'p' :$subquery="select  id_alu,cod_cur,cod_mat,id_peri,avg(nota) as nota from seg_recupera group by  id_alu,cod_cur,cod_mat,id_peri "; break;
	case 'm' :$subquery="select  id_alu,cod_cur,cod_mat,id_peri,max(nota) as nota from seg_recupera group by  id_alu,cod_cur,cod_mat,id_peri"; break;
	case 'u' :$subquery="
		select  a.id_alu,a.cod_cur,a.cod_mat,a.id_peri,  nota 
		from seg_recupera a
		inner join (select  id_alu,cod_cur,cod_mat,id_peri,max(num_rec) as num_rec from seg_recupera where nota is not null  group by  id_alu,cod_cur,cod_mat,id_peri) b
		on b.id_alu =a. id_alu AND b.cod_cur=a.cod_cur AND b.cod_mat =a.cod_mat AND b.id_peri=a.id_peri AND b.num_rec=a.num_rec
"; break;

}
$query =" update seg_final f ,($subquery) r  set nota_r= r.nota where 
f.id_alu=r.id_alu and f.id_peri=r.id_peri AND f.cod_mat=r.cod_mat AND f.cod_cur=r.cod_cur
/*CAD_WHERE*/";


$cad='';$sep='';
if(isset($params[id_peri]) && $params[id_peri]!='%'){ $query=str_replace("/*ID_PERI*/",$params[id_peri],$query); }
if(isset($params[cod_cur]) && $params[cod_cur]!='%'){ $cad.=$sep."f.cod_cur = ".$params[cod_cur]; $sep= '  and  ';}
if(isset($params[cod_mat]) && $params[cod_mat]!='%'){ $cad.=$sep."f.cod_mat = ".$params[cod_mat]; $sep= '  and  ';}
if(isset($params[id_alu]) && $params[id_alu]!='%'){ $cad.=$sep."f.id_alu = ".$params[id_alu]; $sep= '  and  ';}
//restricciones de la ejecucion
if($cad_g!=''){ $cad.=$sep.str_replace('cod_gra','f.cod_gra ',$cad_p); $sep=' AND ';} 
if($cad_p!=''){ $cad.=$sep.str_replace('id_peri',' f.id_peri ',$cad_p);} 
if($cad!='') {$cad =' AND '.$cad; $query=str_replace("/*CAD_WHERE*/",$cad,$query);}