SELECT *
FROM `Events`
WHERE `UserID` IN (SELECT `BeingFollowed` FROM `Followers` WHERE `Follower` = us)
好的以上是我的查询,我正在尝试获取我的关注者所做的所有事件,而us
变量是存储的例程函数中的参数,这是我的UserID但我没有关注自己但我也希望得到我的活动,每个活动都有一个UserID,我希望得到所有关注者事件以及我在同一个查询中拥有的事件
答案 0 :(得分:2)
这就是OR
的作用:
SELECT *
FROM `Events`
WHERE `UserID` IN (SELECT `BeingFollowed` FROM `Followers` WHERE `Follower` = us)
OR `UserID` = us
您也可以将自己添加到子查询中,但这可能更慢:
SELECT *
FROM `Events`
WHERE `UserID` IN (
SELECT `BeingFollowed` FROM `Followers` WHERE `Follower` = us
UNION ALL
SELECT us
)