Torna al Thread

PROCEDURE [dbo].[MKT_get_ricercaContatti_inAssegnazione] @idRicerca int, @userIdOperatore uniqueidentifier, @dal smalldatetime, @al smalldatetime, @idMotivo smallint, @esiti nvarchar(100) AS BEGIN declare @resultSet table (ID_persona int NOT NULL, idAssegnazione int NOT NULL, dataTelefonata smalldatetime NOT NULL, Nome_persona nvarchar(50) NOT NULL, Cognome_Persona nvarchar(50) NOT NULL, DataNascita_Persona smalldatetime NOT NULL, Comune_Persona nvarchar(55) NOT NULL, c_provincia nvarchar(55) NOT NULL); INSERT INTO @resultSet (ID_persona, idAssegnazione, dataTelefonata, Nome_persona, Cognome_Persona, DataNascita_Persona, Comune_Persona, c_provincia) SELECT dbo.PERSONE.ID_Persona, dbo.MKT_ASSEGNAZIONI.idAssegnazione, MAX(dbo.MKT_TELEFONATE.dataTelefonata) AS dataTelefonata, dbo.PERSONE.Nome_Persona, dbo.PERSONE.Cognome_Persona, dbo.PERSONE.DataNascita_Persona, dbo.PERSONE.Comune_Persona, dbo.COMUNI.c_provincia FROM dbo.MKT_ASSEGNAZIONI INNER JOIN dbo.PERSONE ON dbo.MKT_ASSEGNAZIONI.idContatto = dbo.PERSONE.ID_Persona INNER JOIN dbo.MKT_TELEFONATE ON dbo.MKT_ASSEGNAZIONI.idAssegnazione = dbo.MKT_TELEFONATE.idAssegnazione INNER JOIN dbo.COMUNI ON dbo.PERSONE.Comune_Persona = dbo.COMUNI.c_nome INNER JOIN dbo.MKT_DETT_TELEFONATE ON dbo.MKT_TELEFONATE.idTelefonata = dbo.MKT_DETT_TELEFONATE.idTelefonata INNER JOIN dbo.MKT_MOTIVI_ESITI ON dbo.MKT_DETT_TELEFONATE.motivo_esito = dbo.MKT_MOTIVI_ESITI.idMotivoEsito WHERE (dbo.MKT_ASSEGNAZIONI.idRicerca = @idRicerca) AND (dbo.MKT_ASSEGNAZIONI.userIdOperatore = @userIdOperatore) AND (dbo.MKT_ASSEGNAZIONI.locked = 0) AND (dbo.MKT_MOTIVI_ESITI.idMotivo = @idMotivo) GROUP BY dbo.PERSONE.ID_Persona, dbo.PERSONE.Cognome_Persona, dbo.MKT_ASSEGNAZIONI.idAssegnazione, dbo.PERSONE.Nome_Persona, dbo.PERSONE.DataNascita_Persona, dbo.PERSONE.Comune_Persona, dbo.COMUNI.c_provincia HAVING (MAX(dbo.MKT_TELEFONATE.dataTelefonata) >= @dal) AND (MAX(dbo.MKT_TELEFONATE.dataTelefonata) <= @al) ORDER BY dbo.PERSONE.Cognome_Persona SELECT MKT_TELEFONATE.idTelefonata, q1.ID_Persona, q1.idAssegnazione, q1.dataTelefonata, q1.Nome_Persona, q1.c_provincia, q1.Comune_Persona, q1.DataNascita_Persona, q1.Cognome_Persona, MKT_ESITO_TELEFONATA.esitoStr FROM @resultSet as q1 INNER JOIN MKT_TELEFONATE ON q1.idAssegnazione = MKT_TELEFONATE.idAssegnazione AND q1.ID_Persona = MKT_TELEFONATE.idContatto AND q1.dataTelefonata = MKT_TELEFONATE.dataTelefonata INNER JOIN MKT_DETT_TELEFONATE ON MKT_TELEFONATE.idTelefonata = MKT_DETT_TELEFONATE.idTelefonata INNER JOIN MKT_MOTIVI_ESITI ON MKT_DETT_TELEFONATE.motivo_esito = MKT_MOTIVI_ESITI.idMotivoEsito INNER JOIN MKT_ESITO_TELEFONATA ON MKT_MOTIVI_ESITI.idEsito = MKT_ESITO_TELEFONATA.idEsito WHERE (MKT_MOTIVI_ESITI.idEsito IN (@esiti)) ORDER BY q1.dataTelefonata desc END
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5