gpt4 book ai didi

sql - 根据第三个表中定义的关系连接两个表

转载 作者:行者123 更新时间:2023-12-03 07:49:45 25 4
gpt4 key购买 nike

我有两个表 Activity 和 Action。可以为一项事件执行一个或多个操作。 Activity 和 Action 之间的关系在名为 Activity Action 的第三个表中给出。

如何使用 sql 语句检索一个结果集,该结果集告诉我哪些操作适用于每个事件?这是表结构

事件表 -ActivityId(PK), ActivityText

Action 表 - ActionId(PK), ActionText

ActivityAction -ActivityActionId(PK)、ActivityID、ActionID

我想要一个格式的结果表

事件,适用的行动

(Activity 列应显示 ActivityText,Applicable Action 应显示 ActionText)

你能指导我吗?

谢谢你。

最佳答案

这应该可以解决问题

SELECT Activity.ActivityText as Activity, Action.ActionText as ApplicableAction
FROM ActivityAction
INNER JOIN Activity
ON ActivityAction.ActivityId = Activity.ActivityId
INNER JOIN Action
ON ActivityAction.ActionId = Action.ActionId

您应该阅读数据库中的 JOINS。这是一个很好的起点:

http://en.wikipedia.org/wiki/Join_%28SQL%29

基本上,我们在这里拥有的是 Activity 和 Action 之间的多对多关系,这是通过使用称为 ActivityAction 的连接表的两个一对多关系来解决的。

为了取回所需的数据,我们使用适当的 PK 和 FK 列将 ActivityAction 连接到每个表,然后在 SELECT 中选择字符串列

关于sql - 根据第三个表中定义的关系连接两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2008853/

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