Задать вопрос
ponich
@ponich
php,mysql,js

Выборка данных «ты мне, я тебе, мы оба»?

Добрый вечер.
Интересует вопрос который не поддается моему понятию и знаниям mysql, приходится спрашивать Вас дорогие друзья.

Есть таблица (Event):
id | user1 | user2

Что бы сделать выборку и узнать что сделал пользователь со мной мне нужно сделать вот так:
SELECT * FROM event WHERE (user2 = selfId)
Что бы посмотреть что и кому сделал я:
SELECT * FROM event WHERE (user1 = selfid)

Собственно вопрос:
Как сделать выборку если пользователь 1 - сделал что то с пользователем 2 И!! пользователь 2 сделал что то с пользователем 1.
Нужно выбрать взаимные действия "я - он, он - я", и только.

Как я понимаю нужно сделать минимум два запроса в запросе... или как?
Спасибо!
  • Вопрос задан
  • 2198 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Для конкретного пользователя:
SELECT `e1`.`user2` FROM `event` AS `e1`
    INNER JOIN `event` AS `e2` ON `e1`.`user2` = `e2`.`user1`
    WHERE `e1`.`user1` = $user AND `e2`.`user2` = $user

Все пары:
SELECT `e1`.`user1`, `e1`.`user2` FROM `event` AS `e1`
    INNER JOIN `event` AS `e2` ON `e1`.`user2` = `e2`.`user1` AND `e1`.`user1` = `e2`.`user2`
    WHERE `e1`.`user1` < `e1`.`user2`
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы