繁体   English   中英

来自多个表的MySQL查询

[英]MySQL Query from multiple tables

我的数据库中有3个MySQL表。 他们是:

  • 用户 - 用户名 ,名字,姓氏,电子邮件和密码
  • 活动 -Activity_ID,用户ID,日期,时间,活动
  • 关注 -Follow_ID,用户ID, 关注 ID

我希望能够生成一个输出(到XML,但是我已经完成了),该输出将为固定用户遵循的用户提供活动。

例如:用户1跟随用户2,3和5,但不跟随用户4。 因此,对于该用户,仅显示来自用户2,3和5的活动。但是对于跟随用户3和4的另一个用户,仅显示3和4。

对于SQL / MySQL,我还是个新手,所以我有点迷路。

查看使用联接,这就是您要使用的联接。 我还要重新评估您的表结构,我认为您的表结构中存在有缺陷的逻辑...

像这样的例子(不正确,但可以给您一个想法):

select * from dbo.Users as usr
join dbo.follow as flw on usr.userId = flw.usrId
join dbo.Activity as act on act.UserId - flw.userID

这是数据库的示例结构: 在此处输入图片说明

通过使用上述结构。

每当一个用户关注另一个用户时,就会将一条记录添加到“ 关注”表中。 这是一对多的关系。 用户*关注。

您现在可以查询以下内容:

select followId from dbo.Follow as flw where flw.UserId = 123

这将返回对用户关注的所有用户的引用。

然后,您可以联接UserFollow表以标识每个跟随记录的关系(基本上匹配用户a>用户b)。

我不知道这是否有意义。 没有...就很难解释...这有意义吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM