SQL - 加入 3 个表查询

肘部

今天是个好日子,

这是我在 stackoverflow 上的第一篇文章。老实说,社区很棒而且知识丰富。我通常会参与但从未发表过任何帖子,直到今天我决定注册一个帐户。我需要这个惊人社区的知识来进行一个小的快速连接查询。

由于某些奇怪的原因,我无法让它工作。

这是关系表:

单击此处查看表之间的关系

我要输出的内容(在本例中,我将使用 userID 10):

显示用户 ID 10 所关注的所有用户的推文表中的推文(包括用户 ID 10 本身)

换句话说:假设用户 ID 10 被称为 Bob,Bob 跟随 Bell 和 Rogers。

所以我想输出鲍勃的推文,鲍勃关注的每个人:贝尔和罗杰斯

提前感谢您的帮助和时间:)

编辑:

我很抱歉!这是示例数据:

样本数据

在此处输入图片说明

再一次谢谢你 :)

缺口

没有样本数据很难确定,但这个查询应该有效。它从表中选择与用户 ID (1) 或该用户关注的任何人匹配的所有推文:

SELECT DISTINCT t.*
FROM User u
JOIN Follow f ON f.follower = u.userID
LEFT JOIN Tweet t ON t.userID = u.userID OR t.userID = f.following
WHERE u.userID = 1

输出(对于您的样本数据)

tweetID     userID  tweet
1           1       Hello
2           4       Hey
3           1       Hi Folks!
6           4       Something
7           3       Heya!

dbfiddle 上的演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章