У меня возникли проблемы с вычислением инструкции SQL, которую мне нужно сделать.MySQL - сложная проблема запроса, несколько таблиц
У меня есть 2 таблицы
Друзья
===================================
friendfromid | friendtoid | request
===================================
пользователей
=================
userid | username
=================
Мне нужно, чтобы получить идентификатор пользователя и имя каждого пользователя, который является моим другом.
Мой идентификатор находится либо в friendfromid, либо в friendtoid в зависимости от того, запрашивается ли пользователь или пользователь запросил меня.
Так что, в основном, нужно, чтобы скрипт должен был посмотреть таблицу друзей, получить все строки, в которых мой id либо friendfromid, либо friendtoid, проверить, что поле запроса установлено в 1, взять все строки, которые соответствуют этому затем получите идентификаторы и имена пользователей каждого friendfromid или friendtoid, который не является моим.
Например, если мой идентификатор был 8, а id друзей - 9, допустим, что они запросили меня, что их идентификатор будет в поле friendfromid, а мой идентификатор будет в поле friendtoid, это означает, что скрипт будет принимать свой идентификатор (9) и сопоставить его с этим пользователем в таблице users.
Я думаю, вы имеете в виду '(friendfromid =? AND friendtoid = userid) ИЛИ (friendtoid =? AND friendfromid = userid) '. –
есть.? означает список друзей. –
Что я имею в виду, когда 'fromid' соответствует' toid' - это внешний ключ и наоборот. Все условия соединения эквивалентны '{ID} = userid'! –