이 질문이 이미 제기되었지만 내 머리가 빠지면 사과하십시오!중복 된 항목을 제거하는 방법은 무엇입니까? SQL Server 2008
나는 KI와 UG로 축약 된 두 개의 테이블을 가지고있다. KI에는 사람 목록과 사진이 들어 있으며 UG에는 다른 사람 목록이 들어 있습니다. 내가하고 싶은 일은 테이블을 일치시키고 KI & UG와 일치하는 이름 목록을 보여주는 쿼리를 반환하는 것입니다. 이제 중간에 있는데, 내 쿼리가 있는데 잘 작동합니다. 문제는 목록에 많은 중복이 있다는 것입니다. 원래 KI 테이블을 관리했던 사람들은 같은 사람에 대해 서로 다른 이미지를 입력하여 "John Smith"의 행이 여러 개 남았습니다.
SELECT ki.name, ug.name, ki.image_file
FROM kantechimages AS ki
INNER JOIN user_group as UG ON ki.name like ug.name
WHERE ki.image_file is not null
GROUP BY ki.name, ug.name, ki.image_file
그래서 제 질문은, 어떻게 목록에서 중복 된 이름을 제거 할 수 있으며 우리는 대신에 그들 모두의 일치가 어디에서 하나 개의 행을 리턴 :
이 내 코드?
감사합니다.
복제본 중에서 어떤 행을 반환해야하는지 어떻게 결정합니까? –
사람마다 한 행을 원하면 그 사람에게 image_file을 사용 하시겠습니까? image_file 열의 데이터 형식은 무엇입니까? 파일 이름 또는 실제 이미지 데이터입니까? –
방금 두 테이블에서 사람의 이름을 반환하여 정확히 일치하는지 다시 확인하기를 원했고 이미지가있는 위치를 식별하는 데 필요한대로 image_file을 반환해야했습니다. image_file 열은 'nvarchar'이며 서버의 이미지 파일 이름 만 포함합니다. 내가 원하는 이미지 파일과 관련해서, 이미지 파일이있는 한 실제로는 문제가되지 않습니다.이전에 데이터베이스를 관리했던 사람들은 부주의했습니다. 새 데이터베이스를 추가 할 때 이전 데이터베이스를 삭제하지 않았습니다. – SamFarr