Получить сингл из пар - PullRequest
       3

Получить сингл из пар

2 голосов
/ 29 октября 2011

Это вопрос SQL-запроса.

Если у вас есть такая таблица:

ID1         ID2
1709    1689
1689    1709
1934    1501
1501    1934

И вы хотите получить ее следующим образом:

ID1         ID2
1709    1689
1934    1501

Как бы Вы это сделали?Обратите внимание, что (1709, 1689) и (1689, 1709) являются похожими парами, просто смещаются идентификаторы.Моя цель - вытащить один кортеж из этих похожих кортежей.

1 Ответ

5 голосов
/ 29 октября 2011

Попробуйте, это должно работать на любом диалекте (вы не указываете, какой продукт вы используете), который поддерживает CASE:

 SELECT DISTINCT
    CASE WHEN ID1 < ID2 THEN ID1 ELSE ID2 END AS ID1,
    CASE WHEN ID1 < ID2 THEN ID2 ELSE ID1 END AS ID2
    FROM Table

Это преобразует все строки, чтобы сначала иметь более низкий идентификатор, а затем использует DISTINCT для удаления дубликатов.

...