Voenniy
@Voenniy

Как выбрать из MySQL уникальные данные в двух стобцах?

Здравствуйте. Есть таблица names где два поля boys и girls
Поля заполнены всеми возможными пересечениями между тремя мальчиками и тремя девочками
Коля
Петя
Игорь

и

Оля
Света
Аня


Т.е. получается девять строк
Коля - Оля
Коля - Света
Коля - Аня
Петя - Оля
Петя - Света
Петя - Аня
Игорь - Оля
Игорь - Света
Игорь - Аня


Как выбрать только такие записи, что бы на 1 мальчика была 1 девочка (только 3 строки с уникальными именами в каждом столбце)?
Возможно ли это числым mysql ?
  • Вопрос задан
  • 2332 просмотра
Решения вопроса 1
@ldvldv
Если заполнены всеми возможными пересечениями, то можно так, наверное.
set @bn:=0;
set @gn:=0;
select boys, girls from 
(select @bn := @bn + 1 as num, boys from (SELECT distinct boys FROM `names`) b1) b2  
left join 
(select @gn := @gn + 1 as num, girls from (SELECT distinct girls FROM `names`) g1) g2
using (num)

Но смысл тогда в этой таблице, если можно хранить список уникальных имен девочек и мальчиков в двух таблицах?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы