从多对多关系的桥接表中检索数据的查询[关闭]

Posted

技术标签:

【中文标题】从多对多关系的桥接表中检索数据的查询[关闭]【英文标题】:Query for retrieving data from a bridging table of many to many relationship [closed] 【发布时间】:2021-01-24 07:47:22 【问题描述】:

由于多对多关系,我有一个带有两个连接或桥接表的表 SQL 服务器。

我想知道是否有人可以编写查询来检索数据或对更新所有这三个表的表执行 CRUD 操作。

请检查所附图表,特别是表格(中间有一个桥接表的案例、暴力类型和推荐表)。 Click to see DB diagram

你的,奥马尔

【问题讨论】:

【参考方案1】:

所以你正在尝试链接例如CaseReferral 通过关联表 Case_Referral?那么您面临的问题是什么?

这是一个非常简单直接的 SQL 语句 - SELECT 来自 Case,通过 case_id 键连接到 Case_Referral,然后使用 referral_id 连接到 Referral,并指定哪些列来自您需要的每张桌子:

SELECT
    c.user_name, c.date as CaseDate, c.priority, c.case_status,
    r.date AS ReferralDate, r.referral_name
FROM
    dbo.Case c
INNER JOIN
    dbo.Case_Referral cr ON c.case_ID = cr.case_ID
INNER JOIN
    dbo.Referral r ON cr.referral_ID = r.referral_ID

那么你不理解的问题/问题是什么?

您可以使用相同的“技术”来加入其他 m:n 关系。

【讨论】:

嗨,Marc,您的回答和 SQL 语句解决了我的问题。我从来没有使用过连接语句,所以我对如何使用关联表进行操作感到困惑。谢谢一百万,奥马尔 @S.OmerSadaat:一定要花一些时间和精力来了解连接 - 类型以及它们可以为您做什么。这是任何 SQL 努力的支柱之一!

以上是关于从多对多关系的桥接表中检索数据的查询[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

从多对多关系中获取数据

如何在laravel中从多对多关系中检索多个记录

如何从多对多表中选择一对一关系

mysql - 来自桥接表的多对多查询[关闭]

使用 laravel 从多对多检索数据

从多对多关系中获取结果