I have a large SELECT query with multiple JOINS and WHERE clauses. Despite specifying DISTINCT (also have tried GROUP BY) - there are duplicate rows returned. I am assuming this is because the query selects several IDs from several tables. At any rate, I would like to know if there is a way to remove duplicate rows from a result set, based on a condition.
I am looking to remove duplicates from results if x.ID appears more than once. The duplicate rows all appear grouped together with the same IDs.
Query:
SELECT      e.Employee_ID, ce.CC_ID as CCID, e.Manager_ID, e.First_Name, e.Last_Name,,e.Last_Login,   
            e.Date_Created AS Date_Created, e.Employee_Password AS Password,e.EmpLogin 
            ISNULL((SELECT TOP 1 1 FROM Gift g 
            JOIN Type t ON g.TypeID = t.TypeID AND t.Code = 'Reb' 
            WHERE g.Manager_ID = e.Manager_ID),0) RebGift,
            i.DateCreated as ImportDate
FROM        @EmployeeTemp ct
JOIN        dbo.Employee c ON ct.Employee_ID = e.Employee_ID 
INNER JOIN  dbo.Manager p ON e.Manager_ID = m.Manager_ID
LEFT JOIN   EmployeeImp i ON e.Employee_ID = i.Employee_ID AND i.Active = 1
INNER JOIN  CreditCard_Updates cc ON m.Manager_ID = ce.Manager_ID
LEFT JOIN Manager m2 ON m2.Manager_ID = ce.Modified_By 
WHERE ce.CCType ='R' AND m.isT4L = 1
AND CHARINDEX(e.first_name, Selected_Emp) > 0
AND ce.Processed_Flag = @isProcessed
 
     
    