Torna al Thread
IF @ReportType=29
BEGIN
CREATE TABLE #tblTemp
(
Id INT,
Descrizione Varchar(250),
Arrivi INT ,
Presenze INT,
Arrivi1 INT ,
Presenze1 INT
)
DECLARE ShiftCursorValue CURSOR FOR
SELECT tab_nazioni.descrizione,Count(dataarrivo)TotArrivi,IsNull(Sum(dbo.GetGGpresenze(dataarrivo,IsNull(datapartenza,dbo.GetLastDateOfMounth(dataarrivo)))),0)As presenze,DATENAME(year,@DallaData) As Anno
FROM Dbo.Tab_appoggio
JOIN
Dbo.Tab_Nazioni
On Dbo.Tab_Nazioni.Id=dbo.Tab_Appoggio.Codnazione
WHERE
Codcomune=57 AND
Codcategoria IN(11,12,13,14,15) AND
CodNazione=64 AND
Dataarrivo BetWeen @DallaData AND @AllaData AND
datapartenza IS NOT NULL
Group By tab_nazioni.descrizione
UNION ALL
SELECT tab_nazioni.descrizione,Count(dataarrivo)TotArrivi,IsNull(Sum(dbo.GetGGpresenze(dataarrivo,IsNull(datapartenza,dbo.GetLastDateOfMounth(dataarrivo)))),0)As presenze,DATENAME(year,@DallaData1) As Anno
FROM Dbo.Tab_appoggio
JOIN
Dbo.Tab_Nazioni
On Dbo.Tab_Nazioni.Id=dbo.Tab_Appoggio.Codnazione
WHERE
Codcomune=57 AND
Codcategoria IN(11,12,13,14,15) AND
CodNazione=64 AND
Dataarrivo BetWeen @DallaData1 AND @AllaData1 AND
datapartenza IS NOT NULL
Group By tab_nazioni.descrizione
Order By tab_nazioni.descrizione,anno
OPEN ShiftCursorValue
FETCH NEXT FROM ShiftCursorValue INTO
@Nazione,@Arr,@Pres,@anno
WHILE @@FETCH_STATUS = 0
BEGIN
IF @Desc<>@Nazione
BEGIN
SET @IDROW = @IDROW + 1
INSERT INTO #tblTemp
(Id,descrizione,arrivi,presenze,arrivi1,presenze1)
VALUES
(@IDROW,@Nazione,@Arr,@Pres,0,0)
SET @Desc=@Nazione
END
IF @Desc=@Nazione
BEGIN
UPDATE #TblTemp
SET arrivi1=@arr,presenze1=@pres
WHERE
Id=@IDROW
END
FETCH NEXT FROM ShiftCursorValue INTO
@Nazione,@Arr,@Pres,@anno
END
CLOSE ShiftCursorValue
DEALLOCATE ShiftCursorValue
SELECT * FROM #tblTemp Order By arrivi Desc
RETURN
END