Torna al Thread
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[GetSchedinePS]
(
@CodAlbergo Int = Null,
@AnnoGestionale Int = Null,
@NSchedina Int = Null,
@Data1 SmallDateTime =Null,
@Data2 SmallDateTime =Null,
@DataArrivo SmallDateTime =Null
)
AS
BEGIN
SET NOCOUNT ON;
SELECT
PS.Codalbergo,
PS.AnnoGestionale,
PS.NSchedina,
PS.IdComponente,
PS.DataArrivo,
PS.DataPartenza,
PS.CodAlloggiato,
PS.Cognome,
PS.Nome,
PS.Sesso,
PS.DataNascita,
PS.IdComuneNascita,
LuogoNascita=C1.Comune,
ProvNascita=C1.Prov,
PS.IdStatoNascita,
StatoNascita=N1.Descrizione,
PS.IdCittadinanza,
StatoCittadinanza=N2.Descrizione,
PS.IdStatoResidenza,
StatoResidenza=N3.Descrizione,
PS.IdComuneResidenza,
LuogoResidenza=C2.Comune,
Provresidenza=C2.Prov,
PS.NDocumento,
PS.LuogoDocumento,
PS.IdStatoDocumento,
StatoDocumento=N4.Descrizione,
PS.IdDocumento,
Documento=D.Descrizione,
PS.ncomponenti
FROM
dbo.SchedinePs PS
JOIN
dbo.NazioniPS N1
ON N1.Id= PS.IdStatoNascita
JOIN
dbo.NazioniPS N2
ON N2.Id= PS.IdCittadinanza
JOIN
dbo.NazioniPS N3
ON N3.Id= PS.IdStatoResidenza
JOIN
dbo.Comuni C1
ON C1.Id= PS.IdComuneNascita
JOIN
dbo.Comuni C2
ON C2.Id= PS.IdComuneResidenza
JOIN
dbo.NazioniPS N4
ON N4.Id= PS.IdStatoDocumento
JOIN
dbo.Documenti D
ON D.Id= PS.IdDocumento
WHERE
(PS.Codalbergo=@CodAlbergo Or @CodAlbergo Is Null) AND (PS.AnnoGestionale=@AnnoGestionale Or @AnnoGestionale Is Null) AND (PS.NSchedina=@NSchedina Or @Nschedina Is Null)
AND (PS.DataArrivo Between @Data1 And @data2 Or @Data1 Is Null Or @Data2 Is Null) And (PS.DataArrivo=@DataArrivo Or @DataArrivo Is Null)
END