spBulkUpdateEmailProjectAppeal_Duplicates
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@AppealID | int | IN |
Definition
Copy
CREATE PROCEDURE [dbo].[spBulkUpdateEmailProjectAppeal_Duplicates]
(@AppealID int)
AS
--Clear 'em out... yaw
DELETE [EmailProjectAppeal_Duplicates] WHERE EmailProjectAppealID = @AppealID
DECLARE @DuplicateEmails TABLE (EmailAddress nvarchar(255))
--Records found in both an imported list and RE list
INSERT INTO @DuplicateEmails
SELECT DISTINCT elp.EmailAddress FROM EmailList_People elp
INNER JOIN EmailListUploadMasterList ml on elp.EmailAddress = ml.EmailAddress
INNER JOIN EmailProjectAppeal_EmailList epael ON elp.EmailListID = epael.EmailListID
WHERE epael.EmailProjectAppealID = @AppealID AND epael.AppealListTYpe = 1 AND ISNULL(elp.EmailAddress, '') <> ''
AND EXISTS(SELECT NULL FROM EmailListUploadMasterList ml INNER JOIN EmailProjectAppeal_EmailList epael ON
ml.EmailListID = epael.EmailListID WHERE epael.EmailProjectAppealID = @AppealID AND epael.AppealListTYpe = 1)
--Records found in an Imported List that are duped with another imported list
INSERT INTO @DuplicateEmails
SELECT DISTINCT ml.EmailAddress FROM EmailListUploadMasterList ml
INNER JOIN EmailProjectAppeal_EmailList epael on ml.EmailListID = epael.EmailListID
WHERE epael.EmailProjectAppealID = @AppealID AND ISNULL(ml.EmailAddress, '') <> '' AND epael.AppealListTYpe = 1
AND NOT EXISTS(SELECT NULL FROM @DuplicateEmails de WHERE de.EmailAddress = ml.EmailAddress)
GROUP BY ml.EmailAddress
HAVING Count(ml.EmailAddress) > 1
--Records found in a RE List that are duped with another RE list
INSERT INTO @DuplicateEmails
SELECT DISTINCT elp.EmailAddress FROM EmailList_People elp
INNER JOIN EmailProjectAppeal_EmailList epael on elp.EmailListID = epael.EmailListID
WHERE epael.EmailProjectAppealID = @AppealID AND ISNULL(elp.EmailAddress, '') <> '' AND epael.AppealListTYpe = 1
AND NOT EXISTS(SELECT NULL FROM @DuplicateEmails de WHERE de.EmailAddress = elp.EmailAddress)
GROUP BY elp.EmailAddress
HAVING Count(elp.EmailAddress) > 1
--BEGIN Insert into duplicates table
INSERT INTO [EmailProjectAppeal_Duplicates]
SELECT ml.Emailaddress, ml.EmailDisplayName, @AppealID, ml.EmailListID
FROM EmailListUploadMasterList ml
INNER JOIN @DuplicateEmails de on ml.EmailAddress = de.EmailAddress
INNER JOIN EmailProjectAppeal_EmailList epael on ml.EmailListID = epael.EmailListID
WHERE epael.EmailProjectAppealID = @AppealID AND epael.AppealListTYpe = 1
INSERT INTO [EmailProjectAppeal_Duplicates]
SELECT elp.Emailaddress, elp.EmailDisplayName, @AppealID, elp.EmailListID
FROM EmailList_People elp
INNER JOIN @DuplicateEmails de on elp.EmailAddress = de.EmailAddress
INNER JOIN EmailProjectAppeal_EmailList epael on elp.EmailListID = epael.EmailListID
WHERE epael.EmailProjectAppealID = @AppealID AND epael.AppealListTYpe = 1