- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个表 user
,此外还有 INNER JOIN
它与表 cities
和其他一些表。现在我还有下表:
blocked_user
--------------------------------------------------------
id | user1_id | user2_id | timestamp
如何使用 LEFT JOIN WHERE IS NULL
,以便从搜索结果中排除两个用户组合(user1 blocked user2 或 user2 blocked user1)?
user
--------------------------------------------------------
id | username | ...
非常感谢您的帮助!
最佳答案
我猜你有一个当前用户(正在执行请求的用户)并且你想隐藏他们阻止的所有用户或所有阻止他们的用户。我还假设 user1_id
是执行阻止的用户,user2_id
是他们阻止的用户。您应该编辑您的问题以使这些观点更清楚。
如果那是对的,这就是我会做的:
SELECT id, username
FROM user
LEFT JOIN (
SELECT DISTINCT user2_id AS blockee_id
FROM blocked_user
WHERE user1_id = :current_user_id
) this_user_blocked
ON user.id = this_user_blocked.blockee_id
LEFT JOIN (
SELECT DISTINCT user1_id AS blocker_id
FROM blocked_user
WHERE user2_id = :current_user_id
) blocked_this_user
ON user.id = blocked_this_user.blocker_id
WHERE this_user_blocked.blockee_id IS NULL
AND blocked_this_user.blocker_id IS NULL
我认为使用两个单独的 LEFT JOIN ... WHERE ... IS NULL
结构是有意义的,因为您实际上是在检查两种不同的情况。
关于MySQL:如何 LEFT JOIN WHERE IS NULL(user1 阻止 user2 或颠倒)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10997935/
我正在尝试将我的本地功能分支 rebase 到名为“集成”的远程分支上。 所以我做了- git checkout feature git rebase integration 但在我的冲突解决编辑器中
我想使用模板来反转 XML 的不同序列; 例如 :
我正在尝试使用 Django 1.8 构建我的博客,但是我不知道如何订购这些博客。看图 我想在底部显示“最早”,在顶部显示“最新”。这是我的 index.html {% extends 'layout
我正在使用 socket.io 并向客户端发送一条消息,其中包含应附加到 div 的数据: socket.on('new data', function(data){ $('#containe
如果我遗漏了明显的内容,我深表歉意...... 我正在使用 rgl 绘制 3d 曲面。我的代码是 library(rgl) dem1 = read.table(file="file.txt",skip
如何使用纯 CSS 反转 div 子元素的顺序? 例如: 我要 A B C D 显示为: D C B A 我在 JSfiddle 上创建了一个演示: http://
是否反转中的属性 到 削弱或以任何方式影响搜索引擎索引页面的能力? 谢谢:) 最佳答案 我们不可能知道。搜索引擎可能有错误。 但从 HTML 规范的角度来看,不,属性顺序不影响含义。 关于html
我正在使用 CABasicAnimation 绘制我在数组中使用 CAShapeLayer 的所有 UIBezierPaths CAShapeLayer *shapeLayer = [CAShapeL
我在我的 iPhone 应用程序中使用 core plot 1.0。一切正常,图表绘制完美,但我面临一个奇怪的问题,即图表页面 (CPTPGraphHostingView) 上的所有控件都被镜像。 即
我是一名优秀的程序员,十分优秀!