Я создаю таблицу, в которой отображаются все зарегистрированные пользователи, на которых текущий пользователь еще не подписан. Но как только он подписал кого-то, мне нужно отфильтровать этот список, чтобы исключить его.
Скажем, есть таблица с именем , подписанная , в которой перечислены пользователи и те, на кого он подписан.
|UserId||SubscriberID|
Его легко превратить в несколько запросов, но я безуспешно пытался превратить его в один запрос, чтобы сохранить дополнительный цикл вызовов MySQL.
Вот что у меня есть:
SELECT u.UserID, FullName, UserName from users u
LEFT JOIN subscribed t ON
((u.UserName LIKE '%$search%' OR
u.Email LIKE '%$search%') AND
({$_SESSION['ID']} = t.UserID
AND t.FollowerID != u.UserID)
)
Я знаю, что последняя часть запроса неверна, поскольку я сравниваю только, если UserID и FollowerID не совпадают ни для одной конкретной строки, а не для всей таблицы.