我有两个表Activity和Action.可以为活动执行一个或多个动作.Activity和Action之间的关系在名为Activity Action的第三个表中给出.
如何使用sql语句检索结果集,告诉我哪些操作适用于每个活动?这是表结构
活动表 -ActivityId(PK),ActivityText
操作表 - ActionId(PK),ActionText
ActivityAction -ActivityActionId(PK),ActivityID,ActionID
我想要一个格式的结果表
活动,适用行动
(Activity列应显示ActivityText,Applicable Action应显示ActionText)
你能指导我吗?
谢谢.
Raj*_*ore 51
这应该可以解决问题
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
Run Code Online (Sandbox Code Playgroud)
您应该阅读数据库中的JOINS.这是一个很好的起点:
http://en.wikipedia.org/wiki/Join_%28SQL%29
基本上我们这里有一个Activity和Action之间的多对多关系,它通过两个一对多的关系使用一个名为ActivityAction的连接表来解决.
为了获得所需的数据,我们使用适当的PK和FK列将ActivityAction连接到每个表,然后在SELECT中选择字符串列
| 归档时间: |
|
| 查看次数: |
47900 次 |
| 最近记录: |