Ver Mensaje Individual
  #5 (permalink)  
Antiguo 15/01/2009, 01:51
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Select anidados???

Código:
Select
a.agente_evaluado as AGENTE,
Year(Fecha_evaluacion) as 'Año',
CASE 
WHEN MONTH(fecha_evaluacion) = 1 THEN "enero"
WHEN MONTH(fecha_evaluacion) = 2 THEN "febrero"
WHEN MONTH(fecha_evaluacion) = 3 THEN "marzo"
WHEN MONTH(fecha_evaluacion) = 4 THEN "abril"
WHEN MONTH(fecha_evaluacion) = 5 THEN "mayo"
WHEN MONTH(fecha_evaluacion) = 6 THEN "junio"
WHEN MONTH(fecha_evaluacion) = 7 THEN "julio"
WHEN MONTH(fecha_evaluacion) = 8 THEN "agosto"
WHEN MONTH(fecha_evaluacion) = 9 THEN "septiembre"
WHEN MONTH(fecha_evaluacion) = 10 THEN "octubre"
WHEN MONTH(fecha_evaluacion) = 11 THEN "noviembre"
WHEN MONTH(fecha_evaluacion) = 12 THEN "diciembre"
ELSE "NUUL_MES" END  AS MES ,
SUM(IF(ID_LLAMADA>0,1,0)) as 'TOTAL EVALUACIONES',
ID_LLAMADA as 'id EVALUACIONES', 
(select 
    count(b.errores_fatales)
    from evaluaciones d
    inner join notas_evaluaciones b
    on d.id_evaluacion = b.id_evaluacion
    where (d.identifica_cliente='1'OR d.escucha_activa='1' OR d.asesorar='1'
    OR d.conocimiento_producto='1' OR d.procedimientos='1' OR d.ingreso_datos='1')
    and d.agente_evaluado=a.agente_evaluado
    and d.id_evaluacion = a.id_evaluacion) as 'TOT EVAL CON ERRORES FATALES',
SUM(b.errores_fatales) as 'TOT ERRORES FATALES',
format(avg(b.NOTA_AREA_1),1) `ESTILO MANEJO LLAMADA`,
format(avg(b.NOTA_AREA_2),1) `ESTRUCTURA / HABILIDADES`,
format(avg(b.NOTA_AREA_3),1) `EFICIENCIA / CONOCIMIENTO`,
format(avg(b.NOTA_EVALUACION),1) `NOTA FINAL`
FROM evaluaciones a
INNER JOIN notas_evaluaciones b
ON a.id_evaluacion = b.id_evaluacion
left join agentes c
oN a.agente_evaluado = c.nombre_agente
where a.fecha_evaluacion between '2008/01/01' and  '2008/12/31'
And a.agente_evaluado like'aguilar pacheco doris' 
and c.estado='activo'
and (c.tipo_turno='full time' or c.tipo_turno='part time')
GROUP BY  a.agente_evaluado , a.id_evaluacion
ORDER BY `agente_evaluado` asc, fecha_evaluacion asc;
El agente creo que debe formar parte de la clausula group by si no esta no va a agrupar sus resultados y eliminar DISTINCT, al poner el agente en group by ya consigues que solo salga una vez cada agente.... en esta te dará el resultado de cada evaluación para el agente que tienes en el where, si quitas ese where te lo dará de cada agente...

En tu consulta anterior tambien tenias el distinct, no me di cuenta, como ya te he dicho no hace falta si pones el agante en el group by... veras que el resultado de la consulta anterior no varia si sacas el distinct

Quim