我有 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/