Torna al Thread
;with movimenti (codpaese,arrivi,partenze,presenze)AS
(
Select
codpaese
, 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 T
where
dataarrivo='20120210'
group by
codpaese
, dataarrivo
, datapartenza
)
SELECT
*
, presenze_prec = (SELECT COUNT(dataarrivo) from TabMovimenti_1 where dataarrivo <'20120210' and (datapartenza is null or datapartenza <'20120210') AND codpaese = M.codpaese)
FROM
(
Select
codpaese
, SUM(arrivi) As arrivi
, SUM(partenze) As Partiti
, SUM(presenze) As Presenze
From
movimenti
group by
codpaese
) M