سلام من یک ویو دارم که از چندین join تشکیل شده...حالا میخوام از این اطلاعات یه دیستینک بگیرم...
SELECT pro.ProcessId, pro.Code AS ProcessCode, Workflow.ConfigurationId AS WorkFlowId, Workflow.Title AS WorkFlowTitle, StCurrent.ConfigurationId AS WorkStepId,
StCurrent.Title AS WorkStepTitle, pro.StartDate AS ProcessStartDate, pro.EndDate AS ProcessEndDate, pro.FinanceYearId AS YearId, pro.ProcessStatusId,
ProStatus.Title AS ProcessStatusTitle, ProStatus.Name AS ProcessStatusName, FCYear.Title AS YearTitle, pro.ProcessTypeId, ProcessType.Title AS ProcessTypeTitle,
ParentRef.ReferId AS ReferParentId, ReqParent.AppointId AS SenderAppointId, ReqParPer.Name + ' ' + ReqParPer.Family AS SenderFullName,
ReqParPer.PersonelCode AS SenderPersonalCode, RegPar.UserId AS UserSenderId, RegParPerson.Name + ' ' + RegParPerson.Family AS UserSenderFullName,
RegParPerson.PersonelCode AS UserSenderPersonalCode, Ref.ReferId, Ref.OperationTypeId, RefOperation.Title AS OperationTitle, RefStatus.TypeId AS ReferStatusId,
RefStatus.Title AS ReferStatusTtitle, RefStatus.Name AS ReferStatusName, Ref.CreateDate AS ReferCreateDate, Ref.SeeDate AS ReferSeeDate,
Ref.DoneDate AS ReferDoneDate, RefApp.AppointId AS ReferAppointId, RefPer.Name + ' ' + RefPer.Family AS ReferFullName,
RefPer.PersonelCode AS ReferPersonalCode, permission.UserPermissionId AS PermissionId
FROM dbo.Processes AS pro inner join
dbo.Refers AS Ref ON Ref.ProcessId = pro.ProcessId LEFT OUTER JOIN
dbo.Appoints AS Requester ON Requester.AppointId = pro.AppointId LEFT OUTER JOIN
dbo.Persons AS ReqPer ON ReqPer.PersonId = Requester.PersonId LEFT OUTER JOIN
dbo.Users AS Register ON Register.UserId = pro.UserId LEFT OUTER JOIN
dbo.Persons AS RegPer ON RegPer.PersonId = Register.PersonId LEFT OUTER JOIN
dbo.Refers AS ParentRef ON ParentRef.ReferId = Ref.ParentId LEFT OUTER JOIN
dbo.Appoints AS ReqParent ON ReqParent.AppointId = ParentRef.AppointId LEFT OUTER JOIN
dbo.Persons AS ReqParPer ON ReqParPer.PersonId = ReqParent.PersonId LEFT OUTER JOIN
dbo.Users AS RegPar ON RegPar.UserId = ParentRef.UserId LEFT OUTER JOIN
dbo.Persons AS RegParPerson ON RegPar.PersonId = RegParPerson.PersonId LEFT OUTER JOIN
--dbo.Steps AS St ON St.StepId = Ref.StepId LEFT OUTER JOIN
dbo.Configurations AS StCurrent ON StCurrent.ConfigurationId = Ref.ConfigurationId LEFT OUTER JOIN
dbo.Configurations AS Workflow ON Workflow.ConfigurationId = pro.ConfigurationId LEFT OUTER JOIN
dbo.FinanceYears AS FCYear ON FCYear.FinanceYearId = pro.FinanceYearId LEFT OUTER JOIN
dbo.Types AS ProcessType ON ProcessType.TypeId = pro.ProcessTypeId LEFT OUTER JOIN
dbo.Appoints AS RefApp ON RefApp.AppointId = Ref.AppointId LEFT OUTER JOIN
dbo.UserPermissions AS permission ON permission.ConfigurationId = Ref.ConfigurationId AND permission.OrganizationId = RefApp.OrganizationId LEFT OUTER JOIN
dbo.Sources AS source ON source.SourceId = permission.SourceId LEFT OUTER JOIN
dbo.Persons AS RefPer ON RefPer.PersonId = RefApp.PersonId LEFT OUTER JOIN
dbo.Types AS RefOperation ON RefOperation.TypeId = Ref.OperationTypeId LEFT OUTER JOIN
dbo.Types AS RefStatus ON RefStatus.TypeId = Ref.StatusId LEFT OUTER JOIN
dbo.Types AS ProStatus ON ProStatus.TypeId = pro.ProcessStatusId
میخوام براساس pro.ProcessId دیستینکت بگیرم...الان مثلا 60 رکورد میده بهم که این 60تا شامل 5 processId میشه که اینا بر اساس referId تکرار میشن....من مثلا میخوام از این 10 رکورد که پروسس آی دی شون یکی هست فقط یکی شونو بگیرم...مثلا اخریشو