Я хочу получить все сообщения от друзей пользователя, но только те, которые у него есть разрешение на просмотр. У меня есть следующие таблицы в моей базе данных (только соответствующие атрибуты включены):Получить сообщения от друзей (у вас есть разрешение на просмотр)
Пользователь:
userid
Сообщение
postid authorid
Дружба
friendshipid userid friendid
Разрешение
postid userid
Каждая дружба имеет 2 записей в таблице Дружба (если пользователи 1 и 2 являются друзьями, будет 1 2 и 2 1 добавляется в таблицу). Каждое сообщение имеет несколько записей в таблице Permission, идентификатор пользователя в этих таблицах означает пользователя, у которого есть разрешение на просмотр сообщения (это не означает, что этот пользователь является автором сообщения). Этот пользователь должен быть знакомым с автором сообщения.
Какой был бы лучший запрос для получения моих результатов с хорошей производительностью? Также я мог бы достичь более высокой производительности, если добавлю автора в таблицу Разрешение?
Работает как очарование. Большое спасибо. – neits
есть проблема в вашем запросе, что, если есть только одна запись людей, которые могут быть друзьями, скажем, 1 или 2 или 2 и 1, что вы будете делать тогда? вы можете помочь ?? –