Torna al Thread

ALTER PROCEDURE [dbo].[Get_Arrivi_Partenze] ( @codicealbergo as Int, @data1 as smalldatetime, @data2 as smalldatetime ) AS BEGIN DECLARE @codalbergo INT DECLARE @nomestruttura varchar(100) DECLARE @data smalldatetime DECLARE @nmovimenti INT DECLARE @Comune varchar(100) DECLARE @Provincia varchar(100) DECLARE @Stato varchar(100) DECLARE @tipomov varchar(1) CREATE TABLE #tbmovimenti ( codicealbergo int, nomestruttura varchar(100), data_arrivo smalldatetime, arrivi int, comune_arrivo varchar(100), provincia_arrivo varchar(100), stato_arrivo varchar(100), tipomovarrivo varchar(10), data_partenza smalldatetime, partiti int, comune_partenza varchar(100), provincia_partenza varchar(100), stato_partenza varchar(100), tipomovpartenza varchar(10) ) DECLARE ShiftCursorValue CURSOR FOR Select codice_albergo, tab_alberghi.descrizione, data_arrivo as datamov, count(codice_albergo) as nrarrivi, comune_residenza_descrizione, provincia_residenza_descrizione, stato_residenza_descrizione, 'A' as tipomov from tab_alloggiati join tab_alberghi on codice_albergo=tab_alberghi.codice where codice_albergo=@codicealbergo and data_arrivo between @data1 and @data2 group by codice_albergo, tab_alberghi.descrizione, data_arrivo, comune_residenza_descrizione, provincia_residenza_descrizione, stato_residenza_descrizione union all Select codice_albergo, tab_alberghi.descrizione, data_partenza as datamov, count(codice_albergo) as npartiti, comune_residenza_descrizione, provincia_residenza_descrizione, stato_residenza_descrizione, 'P' as tipomov from tab_alloggiati join tab_alberghi on codice_albergo=tab_alberghi.codice where codice_albergo=@codicealbergo and data_partenza between @data1 and @data2 group by codice_albergo, tab_alberghi.descrizione, data_partenza, comune_residenza_descrizione, provincia_residenza_descrizione, stato_residenza_descrizione order by datamov OPEN ShiftCursorValue FETCH NEXT FROM ShiftCursorValue INTO @codalbergo,@nomestruttura,@data,@nmovimenti,@Comune,@Provincia,@Stato,@tipomov WHILE @@FETCH_STATUS = 0 BEGIN BEGIN IF @tipomov='A' --SET @PV=(SELECT * FROM #PROVA WHERE PROVINCIA=@PROV) INSERT INTO #tbmovimenti ( codicealbergo, nomestruttura, data_arrivo, arrivi, comune_arrivo, provincia_arrivo, stato_arrivo, tipomovarrivo, data_partenza, partiti, comune_partenza, provincia_partenza, stato_partenza, tipomovpartenza) VALUES (@codalbergo,@nomestruttura,@data,@nmovimenti,@Comune,@Provincia,@Stato,'ARRIVI','','0','','','','') IF @tipomov='P' INSERT INTO #tbmovimenti ( codicealbergo, nomestruttura, data_arrivo, arrivi, comune_arrivo, provincia_arrivo, stato_arrivo, tipomovarrivo, data_partenza, partiti, comune_partenza, provincia_partenza, stato_partenza, tipomovpartenza) VALUES (@codalbergo,@nomestruttura,'','0','','','','',@data,@nmovimenti,@Comune,@Provincia,@Stato,'PARTENZE') END FETCH NEXT FROM ShiftCursorValue INTO @codalbergo,@nomestruttura,@data,@nmovimenti,@Comune,@Provincia,@Stato,@tipomov END CLOSE ShiftCursorValue DEALLOCATE ShiftCursorValue select * from #tbmovimenti END
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5