Ver Mensaje Individual
  #5 (permalink)  
Antiguo 07/08/2008, 15:06
Avatar de Andres95
Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 20 años
Puntos: 38
Respuesta: Varios Count en select

Código:
Alter Procedure usp_Sucursales
@fecConsulta varchar(15)  -- Suponiendo, segun el script que la fecha viene en formato YYYYMMDD
as

Declare @dFecConsulta datetime

Set @dFecConsulta  = convert(datetime, @fecConsulta)

SELECT  s.cCODSUC
       ,sum (Case When isnull(d.cTipo,'') = 'S' Then 1 Else 0 End) TotLlamS
       ,sum (Case When isnull(d.cTipo,'') = 'S' Then nDURACI Else 0 End ) DuracionS
       ,sum (Case When isnull(d.cTipo,'') = 'S' Then nCstLla Else 0 End ) CostoS

       ,sum (Case When isnull(d.cTipo,'') = 'E' Then 1 Else 0 End) TotLlamE
       ,sum (Case When isnull(d.cTipo,'') = 'E' Then nDURACI Else 0 End ) DuracionE
       ,sum (Case When isnull(d.cTipo,'') = 'E' Then nCstLla Else 0 End ) CostoE
FROM  (
       ---------------------------------------------------------------
	   -- Suponiendo que en Datos existen todas las sucursales,
       -- Aunque lo mejor seria hacer el join con el catalogo de
       -- Sucursales.	
       ---------------------------------------------------------------
	   Select cCODSUC
       FROM   DATOS D
	   group by cCodSuc  
      ) s
Left outer join
      DATOS D
On    s.cCODSUC = D.cCODSUC
Where dfeclla = @dFecConsulta
group by s.cCodSuc
order by s.cCodSuc
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.