spGetEmailProjectLinks
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@EmailProjectID | int | IN | |
@ProjectAppealID | int | IN | |
@AppealListID | int | IN |
Definition
Copy
CREATE PROCEDURE [dbo].[spGetEmailProjectLinks]
(
@EmailProjectID int,
@ProjectAppealID int,
@AppealListID int
) AS
BEGIN
SELECT p.ID as PID, p.PageName,
el.[URL], count(s.statsid) hits, count(distinct s.emailjobrecipientid) visitors,
el.[DocumentID]
FROM [EmailLink] el
LEFT OUTER JOIN SitePages p on p.id = el.pid
LEFT OUTER JOIN Stats s on s.pageid = el.pid and s.sourceid = el.emailid and s.sourcetypeid = 1
INNER JOIN Email e on el.EmailID = e.[ID]
INNER JOIN emailprojectappeal_ListEmail epale on e.ProjectAppealListEmailID = epale.[ID]
INNER JOIN EmailProjectAppeal_EmailList epael on epale.[EmailProjectAppealListID] = epael.[ID]
INNER JOIN EmailProjectAppeal epa on epael.EmailProjectAppealID = epa.[ID]
INNER JOIN EmailProject ep on epa.[EmailProjectID] = ep.[ID]
WHERE (ep.[ID] = @EmailProjectID OR @EmailProjectID = 0) AND (epa.[ID] = @ProjectAppealID OR @ProjectAppealID = 0)
AND (epael.[ID] = @AppealListID OR @AppealListID = 0) AND epael.AppealListType = 1
and el.[PID] is not null
GROUP BY p.ID, p.PageName, el.[URL], el.[DocumentID]
UNION
SELECT p.ID, p.PageName,
el.[URL], count(s.statsid) hits, count(distinct s.emailjobrecipientid) visitors,
el.[DocumentID]
FROM [EmailLink] el
LEFT OUTER JOIN SitePages p on p.id = el.pid
LEFT OUTER JOIN Stats s on s.URL = el.URL and s.sourceid = el.emailid and s.sourcetypeid = 1
INNER JOIN Email e on el.EmailID = e.[ID]
INNER JOIN emailprojectappeal_ListEmail epale on e.ProjectAppealListEmailID = epale.[ID]
INNER JOIN EmailProjectAppeal_EmailList epael on epale.[EmailProjectAppealListID] = epael.[ID]
INNER JOIN EmailProjectAppeal epa on epael.EmailProjectAppealID = epa.[ID]
INNER JOIN EmailProject ep on epa.[EmailProjectID] = ep.[ID]
WHERE (ep.[ID] = @EmailProjectID OR @EmailProjectID = 0) AND (epa.[ID] = @ProjectAppealID OR @ProjectAppealID = 0)
AND (epael.[ID] = @AppealListID OR @AppealListID = 0) AND epael.AppealListType = 1
and el.[URL] is not null
GROUP BY p.ID, PageName, el.[URL], el.[DocumentID]
UNION
SELECT p.ID, p.PageName,
el.[URL], count(s.statsid) hits, count(distinct s.emailjobrecipientid) visitors,
el.[DocumentID]
FROM [EmailLink] el
LEFT OUTER JOIN SitePages p on p.id = el.pid
LEFT OUTER JOIN Stats s on s.DocumentId = el.DocumentID and s.sourceid = el.emailid and s.sourcetypeid = 0
INNER JOIN Email e on el.EmailID = e.[ID]
INNER JOIN emailprojectappeal_ListEmail epale on e.ProjectAppealListEmailID = epale.[ID]
INNER JOIN EmailProjectAppeal_EmailList epael on epale.[EmailProjectAppealListID] = epael.[ID]
INNER JOIN EmailProjectAppeal epa on epael.EmailProjectAppealID = epa.[ID]
INNER JOIN EmailProject ep on epa.[EmailProjectID] = ep.[ID]
WHERE (ep.[ID] = @EmailProjectID OR @EmailProjectID = 0) AND (epa.[ID] = @ProjectAppealID OR @ProjectAppealID = 0)
AND (epael.[ID] = @AppealListID OR @AppealListID = 0) AND epael.AppealListType = 1
and el.[DocumentID] is not null
GROUP BY p.ID, PageName, el.[URL], el.[DocumentID]
END