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
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5