У меня есть две таблицы в моей базе данных, одна таблица содержит всех пользователей, которые позволяют говорить о социальной сети, а вторая таблица содержит, кто следует за кем. Теперь, когда пользователь A ищет пользователя B, я хочу иметь возможность не просто возвращать пользователя B, но также указать, следует ли пользователю A следовать за пользователем B. Я пробовал это, но он не работает.Выбор значений из одной таблицы
"SELECT
`destination_id`
FROM `followers`
WHERE `source_id` IN
(SELECT `username`
FROM `userinfo` WHERE `username`
LIKE '%".mysql_real_escape_string($data)."%' OR
`email`LIKE '%".mysql_real_escape_string($data)."%')"
Примеры каждой таблицы UserInfo ->
ID username email
1 ABC [email protected]
2 XYZ [email protected]
последователей ->
source_id destination_id
ABC XYZ
HIJ JKL
И, пожалуйста, это значит я сделать два отдельных запросов, или я могу иметь оба запроса как один. Как и выше.
Примечание: $data
- это ключевые значения от пользователя, когда он вводит пользователя, которого он ищет, и он работает. Элементы destination_id и source_id относятся к таблице последователей, и он работает так, как source_id следует за destination_id (то есть пользователь A следует за пользователем B).
Надеюсь, что это ясно.
Есть ли 'userinfo.username' тот же самый тип данных, что и' followers.source_id'? –
Можете ли вы показать 4 или 5 строк каждой таблицы, чтобы сделать ее более читаемой? –
да, они имеют одни и те же типы данных @PeterGluck, и я сделал его более читаемым –