【问题标题】:How to create a query that shows additional information from ISA relationships如何创建显示来自 ISA 关系的附加信息的查询
【发布时间】:2018-04-02 22:53:03
【问题描述】:

我有一个星球大战角色数据库和三个表:

Characters(cname, alias, gender, pname)

Droid(cname, dtype, mainskill)

JediSith(cname, level)

其中DroidJediSithCharacters 具有IS-A 关系(无覆盖,无重叠),cnameDroidJediSith 是引用@ 的外键987654328@.

对于给定的cname,我如何创建一个查询来显示来自Characters 的所有信息,以及来自JediSithDroid(如果适用)的其他信息?

目前我有三个查询,每个表一个,显示每个表的相关信息。是否可以将其变成一个查询?

【问题讨论】:

    标签: mysql ms-access ms-access-2016


    【解决方案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
    

    【讨论】:

    • 谢谢!我今天会尝试,但我会接受这个答案,因为如果没有,我应该能够让它工作(我认为它会):)
    猜你喜欢
    • 1970-01-01
    • 2021-02-11
    • 1970-01-01
    • 2021-12-27
    • 2023-03-26
    • 2021-06-10
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    相关资源
    最近更新 更多