Нахождение конкретного отношения в таблице - PullRequest
0 голосов
/ 18 июня 2019

У меня следующая проблема. Я создал таблицу с именем parentchildrenName. Эта таблица включает имя родителя и имя одного ребенка в каждой строке. Теперь я хочу вернуть имена пар родителей, у которых один и тот же ребенок имеет их childName. Это означает, что он должен вернуть имя parent1 и parent2 с определенным childName следующим образом:

  SELECT parentName1, parentName2 childName FROM parentchildren

Я не совсем уверен, как я могу заставить эту команду работать в MySQL, любая помощь будет оценена.

1 Ответ

0 голосов
/ 18 июня 2019

Вы можете использовать самостоятельное соединение для одинаковых дочерних имен, но для разных родительских имен.

SELECT p.parentname,
       p.childname,
       m.parentname
       FROM parentchildren p
            INNER JOIN parentchildren m
                       ON m.childname = p.childname
                          AND m.parentname < p.parentname;

Если вы хотите, чтобы каждая родительская пара дважды, при смене позиции родителей вы можете изменить < на <>. Или измените его на >, если вы хотите, чтобы каждая пара была только одна, но поменяйте местами во всех парах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...