Access中的多对多关系来自单个表
Posted
技术标签:
【中文标题】Access中的多对多关系来自单个表【英文标题】:Many-to-Many relationship in Access from a single table 【发布时间】:2016-11-15 14:42:35 【问题描述】:我浏览了网络,但似乎找不到我的问题的答案。
我知道可以在两个表之间创建一个 Junction 表以在它们之间创建多对多关系,但是也可以从单个表创建多对多关系吗?
我有一个表Books
,有IDs
、Titles
等。我需要在另一个表中记录(我的多对多关系的Junction 表)具体提到了哪些书书。这意味着我将有多个记录链接到该表中的一本书。
在我看来,这是一种多对多的关系,因为一本书可以提及多本书,而许多书可以谈论一本书。
细化我的问题:有没有办法在 Access 中的 Books
表和 Junction
表之间创建双向关系?我尝试这样做,但 Access 似乎创建了我的 Books 表的副本(称为 Book1)。
【问题讨论】:
【参考方案1】:这是正确的。看似重复的表Book1
只是为了可视化从Junction 表到Book
的附加关系。它实际上并没有复制。
所以你的关系可能已经是正确的。如果您在关系窗口的屏幕截图中添加链接,我们可以确认。
【讨论】:
哦,确实,该表并没有像我想象的那样重复。感谢您的信息【参考方案2】:你应该有主表 tblBook。 然后是您的多对多关系的第二个表。这将包括 parentBookID 和 childBookID。查询时,您可以简单地使用 tblBook 两次(第二次在查询中给它一个不同的名称)以及它们之间的关系表。 选择 * 从 tblBook 左加入 relRefrences 上 tblBook.Id = relRefrences.ParentBookID left join tblBook as refBooks on relRefrences.childBookID = refbooks.Id
在我的手机上进行,所以请原谅格式化。
【讨论】:
以上是关于Access中的多对多关系来自单个表的主要内容,如果未能解决你的问题,请参考以下文章