2013-08-25 2 views
0

У меня есть таблица usersMySQL запросов присоединиться к этой же таблице дважды без дублей

id, ip, opponent 
1, 123.123.123, 2 
2, 123.123.123, 1 
3, 123.123.123, NULL 

Мне нужен запрос, который, покажите мне список по сравнению с изобр без дублей.

ip_first_opponent, ip_second_opponent 

Как я могу это сделать, я новичок в sql.

+0

вашего стола (ы) Defintion, ваши данные и ожидаемые результаты были бы полезны. Ваш вопрос непросто понять ... – MrSimpleMind

+0

из примера из моего сообщения. Мне нужен ips, у которого есть оппонент = id. –

ответ

0

В случае, если вы хотите, чтобы получить все ИПС противников пользователя с идентификатором х, вы можете сделать следующее:

SELECT DISTINCT (opponents.id) от пользователей AS меня, пользователь противников КУДА мне .id = x и me.opponentId = enemyents.id

(Таким образом, вы присоединяете пользователей таблицы к себе с ограничением, что идентификатор противника совпадает с идентификатором противника, а DISTINCT выводит только разные ips.)

Редактировать: Поскольку вы хотите выбрать ip пользователя и его оппонентов, запрос будет следующим:

SELECT DISTINCT me.ip, opponents.ip от пользователей AS меня, пользователи противников WHERE me.opponentId = opponents.id

+0

me.id == x хм, я не понимаю –

+0

Извините, вы должны использовать только «me.id = x», без двойного '='. – Ragnar

+0

почему вы положили 'и' в конец запроса, а что такое x? –

Смежные вопросы