Access中的多对多关系来自单个表

Posted

技术标签:

【中文标题】Access中的多对多关系来自单个表【英文标题】:Many-to-Many relationship in Access from a single table 【发布时间】:2016-11-15 14:42:35 【问题描述】:

我浏览了网络,但似乎找不到我的问题的答案。

我知道可以在两个表之间创建一个 Junction 表以在它们之间创建多对多关系,但是也可以从单个表创建多对多关系吗?

我有一个表Books,有IDsTitles 等。我需要在另一个表中记录(我的多对多关系的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中的多对多关系来自单个表的主要内容,如果未能解决你的问题,请参考以下文章

EntityFramework同一张表多对多关系

php Laravel中的多对多关系来自一系列ID Raw

从laravel中的多对多关系中获取单列

父/子表单上的多对多关系限制了数据输入

如何处理淘汰视图模型中的多对多关系

ORM表多对多的操作