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