【问题标题】:Query from parent to child SQL父子SQL查询
【发布时间】:2020-06-26 09:07:36
【问题描述】:

我有一个数据库,其中有从父类到多个子类的继承。

我已经用class table inheritance 实现了继承。用一个联合表实现它会导致一个非常大的表,其中包含很多空值,这就是选择类表继承的原因。在继承中,每个父对象可能只是其中一个子对象,在示例中,这意味着每个人只能是学生、父母或教师。

我现在的问题是我如何编写一个查询来获取有关一个人的所有信息,而不知道它是哪种类型的人,只知道 ssn。我知道我可以通过左连接所有子表和父表来做到这一点,但是有没有办法做到这一点,所以我不必做所有的左连接?实际上还有很多子表。

关于数据库的所有内容都是使用 SQLITE 编写的。

【问题讨论】:

    标签: sql database sqlite


    【解决方案1】:

    总之,没有..

    您可以使用查询为您编写一些 SQL:

    SELECT 
        'LEFT JOIN ' || m.name || ' ON ' || m.name || '.ssn = person.ssn'
    FROM 
      sqlite_master AS m
    JOIN 
      pragma_table_info(m.name) AS p
    WHERE 
      p.name = 'ssn'
    

    如果有 100 个带有 ssn 列的表,它将为您写入 100 个连接

    【讨论】:

      猜你喜欢
      • 2010-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多