У меня есть таблица instructors
со следующей strcture/данные:MySQL присоединиться к одной и той же таблице без дублей
-----------------
|id | name |
-----------------
|1 | saad |
|2 | imran |
-----------------
Я хочу сделать присоединиться к той же таблице без возврата повторяющихся результатов.
Если я делаю простое соединение, запрос возвращает 4 строки [saad, saad], [saad, imran], [imran, imran], [imran, saad]
.
И если я добавляю предложение where, он возвращает 2 строки [saad, imran], [imran, saad]
.
Однако я хочу только вернуть 1 строку (т.е. если [saad, imran]
уже был возвращен, запрос не должен возвращать [imran, saad]
).
Вот мой запрос до сих пор:
SELECT DISTINCT
i1.name AS name1,
i2.name AS name2
FROM
instructors i1, instructors i2
WHERE
i1.name != i2.name
ORDER BY
name1, name2
Спасибо, это работает для моих двух строк, но будет ли это работать независимо от количества строк в таблице? –
Да, он должен работать для любого количества строк в таблице. – niculare
Удивительный, спасибо за помощь. Я приму свой ответ, как только это позволит мне! –