У меня есть таблица таблицы для сообщений и таблица для списка друзей.MYSQL query несколько таблиц conditional sql
Posts:
id | PosterUsername | title | info1 | info2 | etc.
Friends:
user | friend | blocked(boolean)
Поэтому в основном я ищу SQL запрос, который я могу фильтровать результаты, так что активный пользователь может только просматривать сообщения, которые размещены кем-то, кто добавил их в качестве друга.
что-то вроде ..
SELECT * FROM Posts WHERE
FROM Friends user = PosterUsername AND friend = 'activeUsername' AND BLOCKED = '0'
Я могу придумать способ, где я в основном хранить весь список людей, которые добавили в «activeUser» как друга внутри переменной, а затем, как я проходным отображения сообщения, которые я могу проверить, и отображать только те, которые соответствуют этому условию. Но я не очень хорошо разбираюсь в командах MYSQL, я предполагаю, что есть лучший способ.
Update:
Вопрос: друг отношение двунаправленным? Что я подразумеваю под этим, делает ли запись в таблице «Друзья» то, что оба друга находятся в отношениях, или это может означать односторонние отношения? –
Попробуйте следующее: 'SELECTION * FROM Posts INNER JOIN Друзья ON (Posts.id = Friends.friend) WHERE user = 'current user' AND blocked = 0;' –
@TimBiegeleisen это может быть односторонняя связь. Это может быть и то, и другое. Но цель состоит в том, чтобы показывать только сообщения для друзей плакатов. –