이 문제로 인해 어려움을 겪었습니다.부모 - 자식 관계와 자녀 - 부모 관계의 각 쌍에 대해 하나의 행을 선택하십시오.
종속성 테이블으로 작업하고 있습니다.
간단한 예를
ID, parent, dependent, relationship
1234, John, Mike, Parent
1235, Mike, John, Child
1236, Nancy, John, Spouse
1237, John, Nancy, Spouse
1238, Peter, Mike, Sibling
1239, Mike, Peter, Sibling
이 의존성 중 일부는 "거울 종속성"(같이 1234 및 1235)
- 요한이
- 마이크 아이입니다 마이크의 부모입니다입니다 John of
요구 사항은 우리가 각 쌍 당 하나 개의 기록 (요, 마이크), (요, 낸시) 및 (피터, 마이크)를 (포함해야 의미, 사용자의 각 쌍에 의해 하나 개의 관계를 검색하는 것입니다 그 사실 대신 이름의 person_key
때문에)
1234, John, Mike, Parent
1237, John, Nancy, Spouse
1238, Peter, Mike, Sibling
또는
1235, Mike, John, Child
1236, Nancy, John, Spouse
1239, Mike, Peter, Sibling
어떤 중복 될 수 있지만, 예를 위해 내가 이름을 사용해서는 안 미러링 레코드를 건너 뛰기 위해 SQL을 사용하는 방법에 대한 아이디어가 있습니까?
당신이 (구분 기호가하는 것처럼 쉼표로 표준 분할 기능) 먼저 테이블을 분할해야, 결과 집합을 것이다 건너 뛰는, 그런 다음 분할을 사용하여 일치 항목을 검색 한 다음 일치 항목 중 첫 번째 항목 만 선택하거나 일치하지 않는 항목 만 선택하십시오 (가능한 경우). – ZLK