gpt4 book ai didi

mysql - 在数据库中以多对多关系比较值

转载 作者:行者123 更新时间:2023-11-29 18:57:12 27 4
gpt4 key购买 nike

我正在尝试比较两个表中的数据,这两个表由一个复合表连接,因为它们之间存在多对多关系。

我有成员,也有中心。成员可以参加许多中心,而一个中心可以有许多成员,所以我在中间有一个带有memberID和CentreId的合成表

现在,当我尝试查找所有参加中心1的成员时,例如,我假设id做这样的事情:

SELECT members.FirstName
, centre.CentreLocation
From centre JOIN members
WHERE centre.CentreID = 1


这会让我:

FirstName  CentreLocation
John Gladsaxe
Mikkel Gladsaxe
Kim Gladsaxe


并继续浏览整个数据库,获取所有名字,并一遍又一遍地重复中心。我假设是它获取所有成员,并且对于每个成员,由于ID为1,它再次获得中心,即使不是所有这些成员都参加该中心。

我在关系设计方面做错了还是我的SQL不够具体?

这是我的数据库的屏幕截图。
enter image description here

最佳答案

表中心与memberID(成员表)没有任何直接关系。将members表链接到center表的表是memberattendscenter,我在查询中看不到它。我认为您应该在查询的表memberattendscenter上加入JOIN。

而且,正如其他人所说,我认为memberattendscenter和members表应该为主键有一个单独的列。

关于mysql - 在数据库中以多对多关系比较值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44084141/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com