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