Hi Samir
Here is the updated query.
SELECT cmp.ID CompanyId, cmp.Name CompanyName, cmp.AccountDID,SELECT cmp.ID CompanyId, cmp.Name CompanyName, cmp.AccountDID, pr.ID PersonId, pr.GivenName FirstName, pr.Middle MiddleName, pr.Family LastName, e.Email, u.UserTypeID, (CASE u.UserTypeID WHEN 34 then 'Candidate' WHEN 35 THEN 'Admin' WHEN 68 THEN 'Super Admin' ELSE 'Guest' END) UserType, dc.ID DocumentId, dt.TemplateName DocumentName, cl.Description LatestStatus, dc.Created_dateTime SentDateTimefrom company cmp left join person pr on pr.CompanyId= cmp.ID left join users u on u.ID = pr.UserLoginId left join communicationdetails cd on cd.CommunicationId = pr.CommunicationId AND cd.TableRefID = 5 left join email e on e.ID = cd.RowRefID left join document dc on dc.RowRefID=pr.ID and dc.TableRefID=1 left join documenttemplate dt on dc.documenttemplateid = dt.ID left join codelist cl on cl.Id = dc.LatestStatus;
and here is the latest result
prod_data_27-02-2020.csv
Adding the scripts to get data from prod DB.
with CTE(PersonID,SignedDocuments) AS(
select pr.ID as PersonID, count(dc.LatestStatus) as SignedDocuments from company as cmp
left join person as pr on pr.CompanyId= cmp.ID
left join document as dc on dc.RowRefID=pr.ID and dc.TableRefID=1 and dc.LatestStatus=6
Group BY pr.ID)
select cmp.Name as CompanyName, pr.ID as PersonID, pr.GivenName as PersonName, Count(dc.ID) as TotalDocuments, CTE.SignedDocuments
from company as cmp
left join person as pr on pr.CompanyId= cmp.ID
left join document as dc on dc.RowRefID=pr.ID and dc.TableRefID=1
Left join CTE on CTE.PersonID=dc.RowRefID
Group BY pr.ID;
select * from company;