Ver Mensaje Individual
  #7  
Antiguo 09-12-2009
Avatar de Axel_Tech
Axel_Tech Axel_Tech is offline
Miembro
 
Registrado: nov 2008
Ubicación: lugar en que está ubicado algo.
Posts: 85
Reputación: 16
Axel_Tech Va por buen camino
En ese caso vas a tener que cambiar un poco las consultas. En vez de hacer los COUNT antes de insertarlos en las tablas temporales, hay que hacerlos después. Me explico:

supongo que tienes algo así:
Código SQL [-]
INSERT INTO TABLA_TEMP_1(naviera_SOLIC, total_solicitudes)
select  naviera_SOLIC, count(DISTINCT NO_COMUNICACION) as total_solicitudes
from MI_VISTA
group by naviera_SOLIC

ahora tienes que meter todos los registros en vez de directamente el valor del COUNT:
Código SQL [-]
INSERT INTO TABLA_TEMP_1(naviera_SOLIC, total_solicitudes)
select  naviera_SOLIC, NO_COMUNICACION as total_solicitudes
from MI_VISTA
group by naviera_SOLIC

lo mismo para cuando STATUS_CM='PROCESADA'. Y por último harías los COUNT en las tablas temporales:
Código SQL [-]
SELECT TABLA_TEMP_1.naviera_SOLIC, COUNT(TABLA_TEMP_1.TOTAL_SOLICITUDES), COUNT(TABLA_TEMP_2.TOTAL_PROCESADAS)
FROM TABLA_TEMP_1 LEFT JOIN TABLA_TEMP_2
ON TABLA_TEMP_1.naviera_SOLIC=TABLA_TEMP_2.naviera_SOLIC
GROUP BY TABLA_TEMP_1.naviera_SOLIC

Fíjate que ahora en vez de hacer un INNER JOIN, hacemos un LEFT JOIN, para hacer que el campo por el que cuente sea el de la tabla del lado izquierdo del JOIN, o sea TABLA_TEMP_1. De esa forma los que no existan en TABLA_TEMP_2 los COUNT mostrarán 0.
__________________
No hope, no dreams, no love, my only escape is Underground

Última edición por Axel_Tech fecha: 09-12-2009 a las 13:16:20.
Responder Con Cita