выберите отдельную строку, пока два столбца ссылаются друг на друга - PullRequest
0 голосов
/ 07 августа 2020

Допустим, есть таблица, содержащая строки данных, как показано ниже.

enter image description here

As you see above, Applicant 79 has a twin 80 and Twin 80 has Applicant 79 as a twin.

Since ID 11 and 12 are really the same information, I am wishing to select a unique twin data as following.

введите описание изображения здесь

Как я могу добиться этого на SQL сервере?

Заранее большое спасибо.

Ответы [ 2 ]

3 голосов
/ 07 августа 2020

Вы можете просто сделать:

select * from t where ApplicantId < TwinId
2 голосов
/ 07 августа 2020

Один из вариантов использует not exists

select t.*
from mytable t
where not exists (
    select 1
    from mytable t1
    where 
        t1.applicantid = t.twinid
        and t1.twinid = t.applicantid
        and t1.applicantid < t.applicantid
)

Если присутствуют зеркальные записи, сохраняется запись с наименьшим applicantid.

...