2014-06-04 2 views
1

JOINSWHERE 절이 큰 SELECT 쿼리가 있습니다. DISTINCT을 지정 했음에도 불구하고 (GROUP BY 시도) - 중복 행이 반환됩니다. 쿼리가 여러 테이블에서 여러 ID를 선택하기 때문에이 가정합니다. 여하튼, 조건에 따라 결과 세트에서 중복 행을 제거하는 방법이 있는지 알고 싶습니다. x.ID가 두 번 이상 나타나면 결과에서 중복을 제거하려고합니다. 중복 행은 모두 동일한 ID와 함께 그룹화되어 나타납니다.쿼리 출력에서 ​​중복 행을 제거하십시오.

검색어 :

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 
+0

내가 선택에 어떤 x.id를 참조 돈't :

여기에 같이 몇 가지 대답은? –

+0

'DISTINCT' 절은 ** 선택된 항목의 모든 유일한 행을 반환합니다 **. 'DISTINCT'를 포함하고 일부 값이 중복되는 경우 반환하는 다른 열이 고유해야합니다 (예 : 서로 다르거 나 별개). 원하는 결과뿐만 아니라 해당 쿼리의 실제 결과를 게시 할 수 있습니까? – brazilianldsjaguar

+0

GROUP BY 절을 사용하여 중복이 포함될 열을 지정하십시오. – vlaz

답변

관련 문제