Escolar Documentos
Profissional Documentos
Cultura Documentos
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
s nl
INNER JOIN dbo.subscriptions as su with(nolock) ON nl.Subscriber
id = su.Subscriberid AND su.KeywordId = @KeywordId
AND su.Status = 'Approved' AND su.IsRevoked = 0
END
--SELECT * from @AuthorisedListSubscribers
INSERT INTO @AuthorisedListSubscribers
SELECT distinct su.SubscriberId FROM dbo.subscriptions as su with(no
lock)
INNER JOIN dbo.subscription_lists as sl with(nolock) ON su.Subscript
ionID = sl.SubscriptionID
AND sl.KeywordListID IN
(
select * from Splitter(@AuthLists)
)
AND su.Status = 'Approved' AND su.IsRevoked = 0
--SELECT * from @AuthorisedListSubscribers
END
BEGIN
SELECT @SearchQuery = LTRIM(@SearchQuery)
SELECT @SearchQuery = RTRIM(@SearchQuery)
SELECT @SearchQuery = REPLACE(@SearchQuery,
SELECT @SearchQuery = REPLACE(@SearchQuery,
SELECT @SearchQuery = REPLACE(@SearchQuery,
SELECT @SearchQuery = REPLACE(@SearchQuery,
SELECT @SearchQuery = REPLACE(@SearchQuery,
SELECT @SearchQuery = REPLACE(@SearchQuery,
--REPLACE SPACE WITH AND
FROM @AuthorisedListSubscribers)))
AND ((@QuietEnd IS NULL)OR (su.SubscriberID in (SELECT SubscriberID
FROM @QuietSubscribers)))
AND su.SubscriberID IN (
SELECT su.SubscriberId FROM dbo.subscriptions as su with(nolock)
INNER JOIN dbo.Subscribers as s with(nolock) ON su.SubscriberID
= s.SubscriberID
WHERE su.Keywordid = @KeywordId AND su.UpdatedOn BETWEEN @StartD
ate AND @EndDate
AND ((@KeywordListId = -1) OR (su.SubscriberID in (SELECT Subscr
iberID FROM @ListSubscribers)))
AND CONTAINS((s.Name, s.CellNumber), @SearchQuery)
UNION
--INSERT INTO @TextSearchSubscribers
SELECT su.SubscriberID FROM dbo.subscriptions as su with(nolock)
INNER JOIN dbo.subscriber_attributes as sa with(nolock) ON su.Su
bscriberID = sa.SubscriberID AND sa.CompanyId = @CompanyId
WHERE su.Keywordid = @KeywordId AND su.UpdatedOn BETWEEN @StartD
ate AND @EndDate
AND ((@KeywordListId = -1) OR (su.SubscriberID in (SELECT Subscr
iberID FROM @ListSubscribers)))
AND CONTAINS((sa.Name, sa.Value), @SearchQuery)
)
) AS t
OPTION(RECOMPILE)
--TODO?
END
--SELECT SubscriberId, Name into @SubscriberNames FROM dbo.FETCH_SELECTED_SU
BSCRIBER_NAMES(@CompanyID, @CommaSeperatedSid)
-INSERT INTO @FinalRows (SubscriberID, SubscriptionID, NAME, CellNumber,
ImageUrl, ProfileUrl, DataCardUrl, UpdatedOn, FriendlyDate, Row_Num)
SELECT s.SubscriberID, SubscriptionID, ISNULL('', s.CellNumber) AS NAME,
CellNumber, '' as ImageUrl, '' as ProfileUrl, '' as DataCardUrl, UpdatedOn, ''
as FriendlyDate, Row_Num
FROM @SelectedSubscribers AS s
WHERE Row_Num BETWEEN (((@PageNum - 1) * @PageSize) + 1) AND (@PageNum *
@PageSize)
--DECLARE @SubscriberIDs AS dbo.UDT_LongIDs
--INSERT INTO @SubscriberIDs(ID)
--SELECT SubscriberID
--FROM @FinalRows
--SELECT SubscriberID, Name
--INTO #SubscriberNames
--FROM dbo.FETCH_SELECTED_SUBSCRIBER_NAMES_V2(@CompanyID, @SubscriberIDs
) --TODO
SELECT s.SubscriberID, SubscriptionID, ISNULL(sa.Name, s.CellNumber), CellNu
mber, ImageUrl, ProfileUrl, DataCardUrl, s.UpdatedOn, FriendlyDate, Row_Num
FROM @FinalRows as s
--INNER JOIN #SubscriberNames as sn ON s.SubscriberID = sn.SubscriberId
LEFT OUTER JOIN dbo.subscriber_attributes AS sa with(nolock) on sa.Subsc
riberID = s.SubscriberID AND sa.CompanyID = @CompanyId AND sa.Name = 'Name' AND
sa.Value <> ''
ORDER BY UpdatedOn DESC
--TODO Row_Num?
SELECT COUNT(*) FROM @SelectedSubscribers
--drop
--drop
--drop
--drop
--drop
--drop
--drop
--drop
--OLD
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
DECLARE
table
table
table
table
table
table
table
table
#SubscriberNames
#Final_Rows
#QuietSubscribers
#AuthorisedListSubscribers
#ListSubscribers
#SelectedSubscribers
#SubscribersByTelco
#TextSearchSubscribers
END
--SELECT * from @AuthorisedListSubscribers
INSERT INTO #AuthorisedListSubscribers
SELECT distinct su.SubscriberId FROM dbo.subscriptions as su
INNER JOIN dbo.subscription_lists as sl ON su.SubscriptionID = sl.Su
bscriptionID
AND sl.KeywordListID IN
(
select * from Splitter(@AuthLists)
)
AND su.Status = 'Approved' AND su.IsRevoked = 0
--SELECT * from @AuthorisedListSubscribers
END
/*
ELSE IF (@QuietEnd IS NOT NULL AND @QuietStart IS NOT NULL)
BEGIN
INSERT INTO #QuietSubscribers
SELECT DISTINCT p.SubscriberID FROM
(
SELECT rc.SubscriberID FROM reports.conversations rc
INNER JOIN subscribers s on s.SubscriberID=rc.SubscriberID
WHERE rc.KeywordID=@KeywordID
--AND s.CreatedOn<=@QuietStart
)AS p
WHERE p.SubscriberID NOT IN
(
SELECT distinct cm.SubscriberID FROM campaign_messages cm
INNER JOIN campaigns c on c.CampaignID=cm.CampaignID
WHERE c.KeywordID= @KeywordId
AND cm.MessageType='Response'
AND cm.CreatedOn BETWEEN @QuietStart AND @QuietEnd
)
END
*/
-- Insert statements for procedure here
IF @SearchQuery = '-1'
BEGIN
INSERT INTO #SelectedSubscribers(SubscriberID, SubscriptionID, CellNumbe
r, ImageUrl, ProfileUrl, DataCardUrl, UpdatedOn, FriendlyDate, Row_Num)
SELECT distinct su.SubscriberID, su.SubscriptionID, s.CellNumber, '' as
ImageUrl, '' as ProfileUrl, '' as DataCardUrl, su.UpdatedOn, '' as FriendlyDate,
Row_NUMBER() OVER(ORDER BY su.UpdatedOn desc, su.SubscriptionID desc) as Row_Nu
m
FROM dbo.subscriptions as su with(nolock)
INNER JOIN dbo.Subscribers as s with(nolock) ON su.SubscriberID = s.Subs
criberID
--LEFT JOIN dbo.subscription_lists as sl with(nolock) ON su.Subscrip
tionID = sl.SubscriptionID
--LEFT JOIN #SubscriberNames as sn with(nolock) ON su.SubscriberId =
sn.SubscriberId
WHERE su.Keywordid = @KeywordId AND su.UpdatedOn BETWEEN @StartDate AND
@EndDate
AND su.IsRevoked = 0
AND ((@Status = '-1') OR (su.Status = @Status))
AND ((@Telco = -1) OR (su.SubscriberID IN (Select SubscriberId from
#SubscribersByTelco)))
AND ((@KeywordListId = -1) OR (su.SubscriberID in (SELECT Subscriber
ID FROM #ListSubscribers)))
AND ((@AuthLists = '-1') OR (su.SubscriberID in (SELECT SubscriberID
FROM #AuthorisedListSubscribers)))
AND ((@QuietEnd IS NULL)OR (su.SubscriberID in (SELECT SubscriberID
FROM #QuietSubscribers)))
END
ELSE IF @SearchQuery <>
BEGIN
SELECT @SearchQuery
SELECT @SearchQuery
SELECT @SearchQuery
SELECT @SearchQuery
SELECT @SearchQuery
SELECT @SearchQuery
''
=
=
=
=
=
=
LTRIM(@SearchQuery)
RTRIM(@SearchQuery)
REPLACE(@SearchQuery,
REPLACE(@SearchQuery,
REPLACE(@SearchQuery,
REPLACE(@SearchQuery,
= s.SubscriberID
WHERE su.Keywordid = @KeywordId AND su.UpdatedOn BETWEEN @StartD
ate AND @EndDate
AND ((@KeywordListId = -1) OR (su.SubscriberID in (SELECT Subscr
iberID FROM #ListSubscribers)))
AND CONTAINS((s.Name, s.CellNumber), @SearchQuery)
UNION
--INSERT INTO #TextSearchSubscribers
SELECT su.SubscriberID FROM dbo.subscriptions as su with(nolock)
INNER JOIN dbo.subscriber_attributes as sa with(nolock) ON su.Su
bscriberID = sa.SubscriberID AND sa.CompanyId = @CompanyId
WHERE su.Keywordid = @KeywordId AND su.UpdatedOn BETWEEN @StartD
ate AND @EndDate
AND ((@KeywordListId = -1) OR (su.SubscriberID in (SELECT Subscr
iberID FROM #ListSubscribers)))
AND CONTAINS((sa.Name, sa.Value), @SearchQuery)
)
) as t
END
--SELECT SubscriberId, Name into #SubscriberNames FROM dbo.FETCH_SELECTED_SU
BSCRIBER_NAMES(@CompanyID, @CommaSeperatedSid)
-SELECT s.SubscriberID, SubscriptionID, ISNULL('', s.CellNumber) as Name, Cel
lNumber, ImageUrl, ProfileUrl, DataCardUrl, UpdatedOn, FriendlyDate, Row_Num
into #Final_Rows
FROM #SelectedSubscribers as s
WHERE Row_Num BETWEEN (((@PageNum - 1) * @PageSize) + 1) and (@PageNum * @P
ageSize)
--DECLARE @CommaSeperatedSid VARCHAR(MAX)
--select @CommaSeperatedSid = LEFT(Result,LEN(Result) - 1)
-FROM
-(
-SELECT CONVERT(varchar(max),
-(
-select SubscriberID as [text()], ',' as [text()]
-from #Final_Rows
-for xml path('')
-)
-)as result
-) s
DECLARE @SubscriberIDs AS dbo.UDT_LongIDs
INSERT INTO @SubscriberIDs(ID)
SELECT SubscriberID from #Final_Rows
SELECT SubscriberID, Name into #SubscriberNames FROM dbo.FETCH_SELECTED_SUBS
CRIBER_NAMES_V2(@CompanyID, @SubscriberIDs) --TODO
SELECT s.SubscriberID, SubscriptionID, ISNULL(sn.Name, s.CellNumber), CellNu
mber, ImageUrl, ProfileUrl, DataCardUrl, UpdatedOn, FriendlyDate, Row_Num
FROM #Final_Rows as s
INNER JOIN #SubscriberNames as sn ON s.SubscriberID = sn.SubscriberId
order by UpdatedOn desc
--TODO Row_Num?
SELECT COUNT(*) FROM #SelectedSubscribers
drop table #SubscriberNames
drop table #Final_Rows