MySQL.Избавление от дупликатов

У меня есть поле производитель и деталь, которую он производит . Мне нужно получить пары таких деталей, которые одновременно принадлежат одному производителю.

Пример таблицы:

Производитель Деталь
П1 1
П1 2
П2 2
П2 5
П3 3
П3 2
П3 4

В результате мне нужно получить пары [1,2],[2,5],[3,2],[3,4],[2,4].

Сам я написал такой запрос:

select distinct concat (B.`Д`,',',A.`Д`) 
from `mydb`.`result` as B  
join ( select A.`Д`,A.`П` 
       from `mydb`.`result` as A) as A using(`П`) 
where A.`Д`!=B.`Д` 
  and A.`П`=B.`П`;

Однако у меня тогда появляется проблема, что может отобразиться такой ответ как [2,1],[1,2]. Хотя они являются одной и той же парой . Можно ли это как-то исправить и как или же проблема кроется в самом запросе? Помогите пожалуйста.


Ответы (1 шт):

Автор решения: Akina
SELECT t1.detail, t2.detail
FROM table t1
JOIN table t2 USING (vendor)
WHERE t1.detail < t2.detail
→ Ссылка