php - 我可以使用什么 Sql Join 来组合我的三个表

标签 php mysql

我做了一个查询,用户可以看到活跃用户的所有帖子,但看不到那些不活跃的用户的帖子,但他们也不应该看到他们阻止或阻止他们的用户的帖子,我该怎么做?,block_users 表有 block_by_userid和blocked_userid 列。

我尝试将帖子表与成员表进行 INNER JOIN,每个非事件用户的帖子都不再可见。,我将如何合并 block_users 表?

$GetPost = "SELECT Post.* FROM Post 
INNER JOIN Members ON Post.Poster_user_id = Members.User_id 
WHERE Status='active'";

最佳答案

你可以尝试FULL OUTER JOIN 它的想法是获取表 member 和 block_users 中的所有项目,然后使用 where 子句过滤数据,如果我错过使用字段名称,我很抱歉,所以请检查表名称,我假设 block_users.block_by_userid 包含被阻止的用户 ID如果没有使用正确的字段

$GetPost = "SELECT Post.* FROM Post 
INNER JOIN Members ON Post.Poster_user_id = Members.User_id 
FULL OUTER JOIN block_users ON  Members.User_id  = block_users.user_id
WHERE Status='active' 
AND
WHERE block_users.block_by_userid != Members.User_id";

关于php - 我可以使用什么 Sql Join 来组合我的三个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53878327/

相关文章:

php - mySQL 函数检查列值并执行新操作

php - Zend Studio 浏览器工具栏替代 PhpStorm 3?

php - 获取对象属性,我应该抛出异常吗?

mysql - 从表中删除记录,其中<字段的最大数量并保留最大数量

php - MySQL 数据库填充下拉框和 PHP 搜索

php - 如何在没有内存限制的情况下读取php中的大文件

php - 向贝叶斯排名系统添加额外因素(点击次数)

mysql - 如何在JSP中添加选择所有功能,例如日期从和到?

mysql - 仅对单列值进行 LEFT JOIN 序列化

mysql - 将记录转置为 mysql 中 3 个表的记录