gpt4 book ai didi

mysql - 与连接表的多对多关系

转载 作者:行者123 更新时间:2023-11-30 22:47:26 24 4
gpt4 key购买 nike

我有 2 个具有多对多关系的模型,eventcategory。我正在尝试组合一个查询,让我按类别名称获取事件。

我有以下表格:

类别

id | name

事件

id | name

event_categories_join

category_id | event_id

我已经通过内部连接数据透视表成功地从类别 id 中获取了事件。

SELECT * FROM event
INNER JOIN event_categories_join
ON event.id = event_categories_join.event_id
WHERE event_categories_join.category_id = 5

如何通过名称而不是 ID 执行此操作?


编辑:

我分为三个类别,音​​乐会、复活节和演讲。我还有一个事件,伦敦语法,属于音乐会和复活节类别。现在我想编写一个查询,在其中提供类别的名称,并获取所属事件 - 在本例中为 Concert。

最佳答案

您需要另一个连接。尝试类似的东西

SELECT * FROM event
INNER JOIN event_categories_join ON event.id = event_categories_join.event_id
INNER JOIN category ON category.id = event_categories_join.category_id
WHERE category.name = 'my_category';

附带说明:您应该重新考虑将 event_categories_join 重命名为 event_categories。或者可能是 event_categories_mapping。这很可能更适用于所讨论的域,而连接命名与我们正在处理关系数据库的事实紧密相关。

关于mysql - 与连接表的多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29207426/

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