Запрос на получение различных пар из одного столбца с добавленным ограничением - PullRequest
1 голос
/ 29 октября 2019

Как бы я мог получить отдельные пары из столбца с ограничением, что пара не должна повторяться? Таким образом, у меня есть запрос как таковой

SELECT DISTINCT s1.author_set_s_author_id,
         s2.author_set_s_author_id
FROM submission_record_author_set s1, submission_record_author_set s2
WHERE s1.author_set_s_author_id != s2.author_set_s_author_id;

Это возвращает мне все возможные пары из этого столбца с ограничением, которое он не может спарить с самим собой, но это все равно может произойти: (1,2) и (2,1).

Пара никогда не должна повторяться в моем случае. Таким образом, пара 1 и 2 должна появиться только один раз. Любые предложения о том, как добавить это ограничение в мой запрос SQL?

1 Ответ

1 голос
/ 29 октября 2019

Вы можете просто заменить сравнение != в предложении WHERE на < (чтобы получить (1,2) вместо (2,1)) или > (чтобы получить (2,1) вместо (1,2)):

SELECT DISTINCT s1.author_set_s_author_id,
                s2.author_set_s_author_id
FROM submission_record_author_set s1, submission_record_author_set s2
WHERE s1.author_set_s_author_id < s2.author_set_s_author_id;
...