Tema: Otra de Join
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/09/2008, 14:55
chelodelsur
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años, 1 mes
Puntos: 2
Otra de Join

Hola
Tengo nuevamente porblemas con un join

Código:
SELECT 
log.FECHA_DATE AS FECHA,
count(IF(log.fecha_date,0,0)) AS `LLAMADAS ENVIADAS A IVR`,
SUM(IF(log.trf_agente='',log.t_mensaje='CODIGO' OR log.t_mensaje='GENERAL' OR log.t_mensaje='GENERAL PRE' OR log.t_mensaje='HOTLINE'OR log.t_mensaje='HOTLINE-ANEXO',0))AS `ATE MENSAJE ESPECIAL_IVR`,
SUM(IF(TIPO_LLAMADA='CAI',RECIBIDO,0)) CAI,
SUM(IF(TIPO_LLAMADA='IVR COMERCIAL',RECIBIDO,0)) IVR_COM,
SUM(IF(TIPO_LLAMADA='IVR SUMINISTRO',RECIBIDO,0)) IVR_SUMI,
SUM(IF(TIPO_LLAMADA='IVR OTROS',RECIBIDO,0)) IVR_OTROS,
SUM(IF(TIPO_LLAMADA='CAI' OR TIPO_LLAMADA='IVR COMERCIAL' OR TIPO_LLAMADA='IVR SUMINISTRO' OR TIPO_LLAMADA='IVR OTROS'  OR TIPO_LLAMADA='CALEFACCION',RECIBIDO,0)) TOTAL_RECIBIDO,
SUM(IF(TIPO_LLAMADA='CAI' OR TIPO_LLAMADA='IVR COMERCIAL' OR TIPO_LLAMADA='IVR SUMINISTRO' OR TIPO_LLAMADA='IVR OTROS'  OR TIPO_LLAMADA='CALEFACCION',CONTESTADO,0)) TOTAL_CONTESTADO,
SUM(IF(TIPO_LLAMADA='CAI' OR TIPO_LLAMADA='IVR COMERCIAL' OR TIPO_LLAMADA='IVR SUMINISTRO' OR TIPO_LLAMADA='IVR OTROS'  OR TIPO_LLAMADA='CALEFACCION',ABANDONADO,0)) TOTAL_ABANDONADO
FROM llamadas.log  LEFT JOIN rrserver.reg_diario
ON log.FECHA_DATE = reg_diario.FECHA_DATE
WHERE log.FECHA_Date 
BETWEEN '2008-09-22'
AND '2008-09-28'
GROUP BY reg_diario.FECHA_DATE
Este codigo hace una consulta a dos tablas que estan en bases distintas, dentro del mismo host. el dato en comun es el campo fecha_date, en ambas tablas.
La consulta en si, se ejecuta, pero los resultados no son los correctos.
Por ejemplo la consulta debe traer la cantidad de registros para una fecha agrupando en varias categorías: " llamadas enviadas a IVR", "atendidas por mensaje especial ivr", etc.(estos datos estan en la tabla log, de la base Datos llamadas) Bien el problema que se me presenta es que en la tabla reg_diario, del la base rrserver, hay varios tipos de llamadas para una misma fecha, por ejemplo: para la fecha 2008-09-28, hay registros de llamadas en CAI, IVR_COM, e IVR_SUMI. Entonces al hacer la consulta si por ejemplo en el campo "ATE MENSAJE ESPECIAL_IVR" hay 10 registros para la fecha 2008-09-28 entoces la consulta me dice que hay 30, asumo que es porque en la tabla reg_diario para esa fecha hay datos en 3 tipos de llamadas (CAI, IVR_COM, e IVR_SUMI), por que al probar con otra fecha en donde solo hay regsitros para una determinada fecha en dos tipos de llamadas este resultado lo multiplica por 2.
Uffff salio medio largo el cuento, espero haberme explicado bien.

Como siempre desde ya gracias por su siempre oportuna ayuda.

Marcelo