如何创建显示来自 ISA 关系的附加信息的查询
Posted
技术标签:
【中文标题】如何创建显示来自 ISA 关系的附加信息的查询【英文标题】:How to create a query that shows additional information from ISA relationships 【发布时间】:2018-04-02 22:53:03 【问题描述】:我有一个星球大战角色数据库和三个表:
Characters(cname, alias, gender, pname)
Droid(cname, dtype, mainskill)
JediSith(cname, level)
其中Droid
和JediSith
与Characters
具有IS-A 关系(无覆盖,无重叠),cname
为Droid
和JediSith
是引用@ 的外键987654328@.
对于给定的cname
,我如何创建一个查询来显示来自Characters
的所有信息,以及来自JediSith
或Droid
(如果适用)的其他信息?
目前我有三个查询,每个表一个,显示每个表的相关信息。是否可以将其变成一个查询?
【问题讨论】:
【参考方案1】:使用LEFT JOIN
将另外两个表加入Characters
:
SELECT c.cname, c.alias, c.gender, c.pname, d.dtype, d.mainskill, j.level
FROM Characters c
LEFT JOIN Droid d ON d.cname = c.cname
LEFT JOIN JediSith j ON j.cname = c.cname
如果您在 MS Access 中运行查询,则需要使用括号:
SELECT c.cname, c.alias, c.gender, c.pname, d.dtype, d.mainskill, j.level
FROM (Characters c
LEFT JOIN Droid d ON d.cname = c.cname)
LEFT JOIN JediSith j ON j.cname = c.cname
【讨论】:
谢谢!我今天会尝试,但我会接受这个答案,因为如果没有,我应该能够让它工作(我认为它会):)以上是关于如何创建显示来自 ISA 关系的附加信息的查询的主要内容,如果未能解决你的问题,请参考以下文章
如何创建带有“可悬停”区域的图像,在 jQuery 或 HTML5 中显示附加信息