Мне нужна помощь в создании запроса для моей базы данных mySQL.Недавно я начал использовать JOIN и IN для выбора строк в моей базе данных, поэтому я прошу прощения за то, что выглядело как нуб.
Я не ищу ответ (хотя один был бы хорош!), Но совет о том, где яследует начать с моего запроса будет принята с благодарностью.Пожалуйста, не просто размещайте ссылку на сайт PHP или на учебник.
В моей базе данных пользователи "связаны", порядок НЕ важен.
Название таблицы: UserLinks
link_ID User_1 User_2
1 10982* 34982
2 82738 16643
3 10982* 99822
4 78256 10982*
Пользователь, на которого я обращаю внимание, это пользователь 10982
1) Первая часть этого запроса, которую я хотел бы создать, находит идентификатор пользователей.что этот пользователь (10982) связан с.Этими пользователями являются пользователи 34982, 99822 и 78256. Я представляю, что это что-то столь же простое, как SELECT * FROM UserLinks WHERE User_1 OR User_2 = 10982
, моя проблема здесь в том, как мне получить значения - учитывая, что я не могу просто выбрать строку для возврата (я рассмотрел использованиеесли оператор ... если значение User_1 равно 10982, то выберите User_2. Это, однако, кажется избыточным.
С этим списком идентификаторов пользователей я бы хотел выполнить вторую часть запроса, чтобы найти, какие Event_ID соответствуют этому списку пользователей (идентификаторы пользователей теперь UserEv_ID):
Имя таблицы: EventUserTags
ETag_ID UserEv_ID Event_ID
1 34982* 289
2 82738 231
3 99822* 990
4 78256* 486
2) Вторая частьэтот запрос будет использовать список, сгенерированный из первого запроса (идентификаторов пользователей), для создания списка идентификаторов Event_ID.Я знаю, что вы можете использовать оператор IN и просто вывести этот список в запрос в виде массива, но это означает преобразование результатов первой части запроса в массив.Это снова кажется излишним.Я хотел бы знать, как правильно выбрать эти Event_ID с использованием идентификаторов пользователя ... Я думаю, что запрос JOIN будет работать, но мне нужен совет, как его использовать.
ЗначенияEvent_ID, полученные здесь: 289, 990 и 486. В последней части этого запроса мне нужно использовать этот список Event_ID, сгенерированный из последнего запроса, чтобы сопоставить его с данными другой таблицы, моей таблицы Events.
Имя таблицы: События
Event_ID Event_Order
182 8728342
289 3478792*
990 1876623*
486 9617789**
3) Наконец, мне нужно использовать Event_ID, полученные из последнего запроса, чтобы получить их соответствующий Even_Order.Опять же, я знаю, что это можно сделать с помощью оператора IN (используя массив), но это не будет эффективным вообще.
Цель этого запроса - начать с одного идентификатора пользователя и найти Event_Order каждого пользователя, с которым связан этот пользователь.
Любая помощь действительно приветствуется