Torna al Thread

ALTER PROCEDURE [dbo].[Imposta_Soggiorno] @start as datetime, @end as datetime AS BEGIN CREATE TABLE #tblTemp ( CodiceAlbergo Int, Denominazione Varchar(100), Indirizzo Varchar(80), Classificazione Varchar(50), Comune Varchar(30), Provincia Varchar(30), Presenze Int, ImportoTassa Numeric(18,2), TotaleImposta Numeric(18,2) ) INSERT INTO #tbltemp (codicealbergo, denominazione, indirizzo, classificazione, comune, provincia, presenze, importotassa, totaleimposta) select allog.codice_albergo, alb.descrizione, alb.indirizzo, categoria.descrizione as Categoria, comune.descrizione as Comune, provincia.descrizione as Provincia, Sum(case when DATEDIFF("dd", data_arrivo, case when convert(varchar(8),data_partenza,112)<@end then data_partenza else @end end)=0 then 1 else DATEDIFF("dd", data_arrivo, case when convert(varchar(8),(case when data_partenza='1900-01-01' then NULL else data_partenza END),112)<@end then data_partenza else @end end) END) as Presenze, --allog.codice_scheda, imposta.ImportoTassa, Sum(case when DATEDIFF("dd", data_arrivo, case when convert(varchar(8),(case when data_partenza='1900-01-01' then NULL else data_partenza END),112)<@end then data_partenza else @end end)=0 then 1 * imposta.importotassa else DATEDIFF("dd", data_arrivo, case when convert(varchar(8),(case when data_partenza='1900-01-01' then NULL else data_partenza END),112)<@end then data_partenza else @end end) * imposta.importotassa END) as ImpostaSoggiorno from tab_alloggiati as allog Join tab_alberghi as alb On allog.codice_albergo=alb.codice Join tab_comuni as comune On Alb.comune_codice=comune.codice Join tab_provincie as provincia On Alb.provincia_codice=provincia.codice Join tab_categorie as categoria On Alb.categoria_codice=categoria.codice Join tab_imposta_soggiorno as imposta On categoria.codice_istat=imposta.idcategoria where convert(varchar(8),isnull(data_arrivo,@end),112) between @start and @end group by allog.codice_albergo, alb.descrizione, alb.indirizzo, categoria.descrizione, comune.descrizione, provincia.descrizione, --allog.codice_scheda, DATEDIFF("dd", data_arrivo, case when convert(varchar(8),data_partenza,112)<@end then data_partenza else @end end), imposta.importotassa having DATEDIFF("dd", data_arrivo, case when convert(varchar(8),data_partenza,112)<@end then data_partenza else @end end )<=7 select denominazione, indirizzo, classificazione, comune, provincia, sum(presenze) as presenze, importotassa, sum(totaleimposta)as totaleimposta from #tbltemp Group by denominazione,indirizzo,classificazione,comune,provincia,importotassa END
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5