MYSQL 内连接 OR 条件

标签 mysql sql

我有 3 个表,其中包含以下列:

表1:

userId | seriesId | content

表2:

followerId | followeeId

表3:

followerId | seriesId

我想做的是这样的:

SELECT Table1.content 
FROM Table1 
    (INNER JOIN Table2 ON Table2.followeeId=Table1.userId WHERE Table2.followerId=X) 
OR (INNER JOIN Table3 ON Table3.seriesId=Table1.seriesId WHERE Table3.followerId=X)

“X”将是一些动态生成的数字。我不确定这是否是正确的方法,但你明白我想做的对吗?我的问题是,实现这样的事情的正确方法是什么?如果我的问题有任何不清楚的地方,请在评论中告诉我。

最佳答案

使用UNION:

SELECT Table1.content
FROM Table1
INNER JOIN Table2 ON Table2.followeeId=Table1.userId 
WHERE Table2.followerId=X
UNION
SELECT Table1.content
INNER JOIN Table3 ON Table3.seriesId=Table1.seriesId 
WHERE Table3.followerId=X

关于MYSQL 内连接 OR 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26375237/

相关文章:

mysql - 如何从 MySQL 表中删除特定行?

sql - 使用oracle sql列出所有月份

MySQL 自连接表

sql - PostgreSQL 有效计算行数 WHERE parameter=TRUE

c# - 如何从 "for xml path"获取结果?

java - 无法在 MySQL 中插入非拉丁符号

mysql - 优化 Laravel Eloquent?

c# - 使用多对多关系添加对象 Entity Framework

sql - MS SQL 到 MySQL

sql - 如何序列化数据库中的事件?