Ver Mensaje Individual
  #9 (permalink)  
Antiguo 14/09/2007, 06:56
Avatar de Andres95
Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
De acuerdo Re: Consulta con Right outher

Cita:
Iniciado por Mithrandir Ver Mensaje
A uno de mis "maestros" de SQL Server le pregunté exactamente lo mismo, cuando veíamos los temas de performance (había escuchado eso para Oracle).

Su respuesta fue que simplemente el optimizador de SQL Server convierte los BETWEEN en <= y >=, así que no hay diferencia de performance... fuera del performance del cerebro que está escribiendo los querys.

En su momento lo probé y el resultado fue exactamente lo que él me comentó, y lo que Andrés acaba de revisar.
Si, ya decia yo...
Entonces seguire usando en between....

----


Por otro lado Hebam, si los promedios salen diferentes puede ser porque en algunos valores el campo telefonico.total es nulo...

Exactamente que guarda ese valor?
podrias darnos un ejemplo de un calculo que realiza erroneamente ?

Código:
SELECT   s.sucursal
        ,s.nombre
        ,COUNT(*) AS total
        ,AVG(isnull(t.total),0) AS media
FROM     sucursal  s
Left outer join
        telefonico t
ON      s.sucursal = t.nombre
WHERE   t.region = '1' AND 
        t.fcaptura BETWEEN CONVERT(DATETIME, '2007-08-01 00:00:00', 102) AND CONVERT(DATETIME, '2007-08-31 00:00:00', 102))
GROUP BY 
       ,s.sucursal
       ,s.nombre
ORDER BY 
        s.sucursal
Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.

Última edición por Andres95; 14/09/2007 a las 08:03