SELECT DISTINCT
RT.PartyId as 'PartyId', RT.Code as 'SubmittedByCode', RT.EntityName as 'SubmittedByName', RT.EntryDate as 'CreateDate',
bc.Name as 'GroupCategory', bc.[Description] as 'TerritoryDescription', bc.BusinessGroupId as 'TerritoryID',
sp.Code as 'SalesCode', sp.Name1 as 'SalespersonName',
ISNULL(ACtotal.Accounts,0) as 'Accounts', ISNULL(ACtotal.AmountFinanced,0) as 'AmountFinanced'
FROM
#tmpRef RT
left join (
SELECT ebcm.EntityId ,
bc.BusinessCategoryId,
bc.[Description],
bc.Name,
bc.BusinessGroupId,
ROW_NUMBER() OVER(PArtition by ebcm.EntityId ORDER BY bc.name) AS seq
FROM EntityBusinessCategoryMap ebcm
LEFT JOIN BusinessCategory bc ON bc.BusinessCategoryId = ebcm.BusinessCategoryId
left join BusinessGroup bg on bg.BusinessGroupId = bc.BusinessGroupId
WHERE bg.Name = 'Territory' AND
(@specificTerritory is null OR bc.BusinessCategoryId IN (select * from @TerritoryList))
) bc on bc.EntityId = RT.PartyId AND bc.seq = 1
----
left join Entity sp on sp.PartyId = RT.SalespersonId
left join -- # of Accounts Total, AmountFinanced Total
(
SELECT
CuAc.SubmittedById,
Count(1) as 'Accounts',
SUM(PFL.AmountFinanced) as 'AmountFinanced'
FROM
CustomerAccount CuAc
LEFT JOIN PremiumFinanceLoan PFL ON PFL.CustomerAccountId = CuAc.PartyId AND PFL.IsOriginal = 1
WHERE
(@specificSubmittedBy is null OR CuAc.SubmittedById IN (select * from @SubmittedByList))
AND CuAc.AccountCreateDate between @startDate and @endDate
GROUP BY
CuAc.SubmittedById
) as ACtotal on ACtotal.SubmittedById = RT.PartyId
ORDER BY CASE @sortBy WHEN 'Submitted By Code' THEN RT.Code ELSE NULL END,
CASE @sortBy WHEN 'Submitted By Name' THEN RT.EntityName ELSE NULL END
SELECT DISTINCT
RT.PartyId as 'PartyId', CASE @sortBy WHEN 'Submitted By Code' THEN RT.Code END, CASE @sortBy WHEN 'Submitted By Name' THEN RT.EntityName END, RT.EntryDate as 'CreateDate',
bc.Name as 'GroupCategory', bc.[Description] as 'TerritoryDescription', bc.BusinessGroupId as 'TerritoryID',
sp.Code as 'SalesCode', sp.Name1 as 'SalespersonName',
ISNULL(ACtotal.Accounts,0) as 'Accounts', ISNULL(ACtotal.AmountFinanced,0) as 'AmountFinanced'
FROM
#tmpRef RT
left join (
SELECT ebcm.EntityId ,
bc.BusinessCategoryId,
bc.[Description],
bc.Name,
bc.BusinessGroupId,
ROW_NUMBER() OVER(PArtition by ebcm.EntityId ORDER BY bc.name) AS seq
FROM EntityBusinessCategoryMap ebcm
LEFT JOIN BusinessCategory bc ON bc.BusinessCategoryId = ebcm.BusinessCategoryId
left join BusinessGroup bg on bg.BusinessGroupId = bc.BusinessGroupId
WHERE bg.Name = 'Territory' AND
(@specificTerritory is null OR bc.BusinessCategoryId IN (select * from @TerritoryList))
) bc on bc.EntityId = RT.PartyId AND bc.seq = 1
----
left join Entity sp on sp.PartyId = RT.SalespersonId
left join -- # of Accounts Total, AmountFinanced Total
(
SELECT
CuAc.SubmittedById,
Count(1) as 'Accounts',
SUM(PFL.AmountFinanced) as 'AmountFinanced'
FROM
CustomerAccount CuAc
LEFT JOIN PremiumFinanceLoan PFL ON PFL.CustomerAccountId = CuAc.PartyId AND PFL.IsOriginal = 1
WHERE
(@specificSubmittedBy is null OR CuAc.SubmittedById IN (select * from @SubmittedByList))
AND CuAc.AccountCreateDate between @startDate and @endDate
GROUP BY
CuAc.SubmittedById
) as ACtotal on ACtotal.SubmittedById = RT.PartyId
ORDER BY CASE @sortBy WHEN 'Submitted By Code' THEN RT.Code END,
CASE @sortBy WHEN 'Submitted By Name' THEN RT.EntityName END
Open in new window