I have a variable defined $sql
which has as value a statement sql
the problem is that I need the same statement in different functions, but I do not want in each function to have to put $sql = "SELECT * FROM....."
but directly access it. ..
CODE (I have cut the sentence since it is too long)
public function CountEmpleadosRendimientoBajo_Sede_Competencia($id_empleado)
{
switch ($area_empleado)
{
case '1':
$where = 'tabla.resultado_lider <= 60';
break;
case '2':
$where = 'tabla.resultado_lider <= 25';
break;
}
$sql = "SELECT COUNT(tabla.emple_cedula) AS rendimientobajo
FROM(
SELECT
public.emple_empleados.emple_id
FROM
public.emple_empleados
INNER JOIN public.udn_unidadnegocio ON (public.emple_empleados.emple_udn_id = public.udn_unidadnegocio.udn_id)
INNER JOIN public.detalle_evaluacion ON (public.emple_empleados.emple_id = public.detalle_evaluacion.deteva_emple_id)
INNER JOIN public.detalle_perfil_empleado ON (public.emple_empleados.emple_id = public.detalle_perfil_empleado.detalle_per_emple_id)
INNER JOIN public.evaluacion ON (public.detalle_evaluacion.deteva_id = public.evaluacion.eva_deteva_id)
INNER JOIN public.pre_preguntas ON (public.evaluacion.eva_pregunta_id = public.pre_preguntas.pregunta_id)
INNER JOIN public.detalle_competencia_area ON (public.pre_preguntas.pre_compe_id = public.detalle_competencia_area.detarea_compe_id)
AND (public.detalle_perfil_empleado.detalle_per_id_area_empleado = public.detalle_competencia_area.detarea_id_area_empleado)
INNER JOIN public.compe_competencia ON (public.detalle_competencia_area.detarea_compe_id = public.compe_competencia.compe_id)
AND (public.pre_preguntas.pre_compe_id = public.compe_competencia.compe_id)
INNER JOIN public.per_periodo ON (public.detalle_evaluacion.deteva_per_id = public.per_periodo.per_id)
WHERE
public.emple_empleados.emple_id = '$id_empleado'
DESC
) tabla
WHERE
$where";
$stmt = $this->db->conn_id->prepare($sql);
$stmt->execute();
$resultado = $stmt->fetchAll(PDO::FETCH_OBJ);
return $resultado;
}
public function CountEmpleadosRendimientoMedio_Sede_Competencia($id_empleado)
{
switch ($area_empleado)
{
case '1':
$where = 'tabla.resultado_lider >= 61 AND tabla.resultado_lider <= 89';
break;
case '2':
$where = 'tabla.resultado_lider >= 25 AND tabla.resultado_lider <= 45';
break;
}
$sql = "SELECT COUNT(tabla.emple_cedula) AS rendimientobajo
FROM(
SELECT
public.emple_empleados.emple_id
FROM
public.emple_empleados
INNER JOIN public.udn_unidadnegocio ON (public.emple_empleados.emple_udn_id = public.udn_unidadnegocio.udn_id)
INNER JOIN public.detalle_evaluacion ON (public.emple_empleados.emple_id = public.detalle_evaluacion.deteva_emple_id)
INNER JOIN public.detalle_perfil_empleado ON (public.emple_empleados.emple_id = public.detalle_perfil_empleado.detalle_per_emple_id)
INNER JOIN public.evaluacion ON (public.detalle_evaluacion.deteva_id = public.evaluacion.eva_deteva_id)
INNER JOIN public.pre_preguntas ON (public.evaluacion.eva_pregunta_id = public.pre_preguntas.pregunta_id)
INNER JOIN public.detalle_competencia_area ON (public.pre_preguntas.pre_compe_id = public.detalle_competencia_area.detarea_compe_id)
AND (public.detalle_perfil_empleado.detalle_per_id_area_empleado = public.detalle_competencia_area.detarea_id_area_empleado)
INNER JOIN public.compe_competencia ON (public.detalle_competencia_area.detarea_compe_id = public.compe_competencia.compe_id)
AND (public.pre_preguntas.pre_compe_id = public.compe_competencia.compe_id)
INNER JOIN public.per_periodo ON (public.detalle_evaluacion.deteva_per_id = public.per_periodo.per_id)
WHERE
public.emple_empleados.emple_id = '$id_empleado'
DESC
) tabla
WHERE
$where";
$stmt = $this->db->conn_id->prepare($sql);
$stmt->execute();
$resultado = $stmt->fetchAll(PDO::FETCH_OBJ);
return $resultado;
}