如何将一个表与两个表关联

时间:2017-05-17 17:58:19

标签: mysql database-design relational-database schema-design

我的应用程序中有With cte1 as ( Select * from tables where period = period1 ) ,cte2 as ( Select * from tables where period = period2 ) Select * from cte1 a Left join cte2 b on A... = b... Where b.period is null users个表。它们之间的关系是一对多的。应用程序属于用户,用户拥有许多应用程序。我也想添加一个apps表。其中有一个令牌存储在其中。当用户创建邀请令牌并将其传递给另一个用户时,通过使用该令牌注册,新用户成为应用程序的用户之一,我将他们作为一个组存储在另一个表中。现在问题出现在注册页面,当传递令牌时我想说:

John Doe(创建邀请令牌的用户)邀请您加入TechLive(邀请应用用户加入)团队。

所以从invites表中的记录开始。我还需要获取创建邀请链接或令牌的用户,因为用户可以拥有许多应用程序,我需要知道链接指向或属于哪个应用程序才能将用户专门添加到该应用程序?

任何人都可以帮助我使用invites表的设计架构吗? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

如果我正确地阅读了您的问题,您需要一个包含四个ID的邀请表。表格的主键,然后是创建邀请的用户的主键,邀请第二个用户的应用程序,然后是被邀请用户的ID。

如上所述,第一个字段是您的主键,其他字段是外键。有趣的是,您将拥有两个与用户表相关的外键。一个保存发送用户的ID,另一个保存接收用户的ID。

相关问题