Torna al Thread
declare @rr int
set @rr=0
select @rr= COUNT(dataarrivo) from TabMovimenti_1 where dataarrivo <'10/02/2012' and (datapartenza is null or datapartenza <'10/02/2012');
with movimenti (codpaese,presenze_prec,arrivi,partenze,presenze)AS
(
Select codpaese,
--CASE WHEN dataarrivo <'10/02/2012' and (datapartenza is null or datapartenza <'10/02/2012') THEN COUNT(dataarrivo)else 0 END AS presenze_prec,
@rr as presenze_prec,
COUNT(dataarrivo)as arrivi,
CASE WHEN datapartenza is null or datapartenza <='10/02/2012' THEN COUNT(datapartenza)else 0 END AS partenza,
(COUNT(dataarrivo)-(CASE WHEN datapartenza is null or datapartenza <='10/02/2012' THEN COUNT(datapartenza)else 0 END))as presenze
From TabMovimenti_1 where dataarrivo='10/02/2012'
group by codpaese,dataarrivo,datapartenza)
Select codpaese,SUM(presenze_prec) As presenze_prec, SUM(arrivi)As arrivi,SUM(partenze)As Partiti,SUM(presenze)As Presenze From movimenti group by codpaese