查询行继承自的父表时获取行的源表的名称

2023-12-19

我有一个 Postgres 数据库,其中有几个相互继承的表。我可以SELECT从父表获取其所有子表的结果,但需要获取每个结果源自的表的名称。

找到的方法here https://stackoverflow.com/questions/17016549/get-table-name-in-postgres-query-result不起作用,因为我只查询一张表,并且不知道哪些子项将提前出现在结果中。


要识别特定行的源表,请使用tableoid https://www.postgresql.org/docs/current/ddl-system-columns.html,就像你已经找到了自己一样。
演员表regclass https://www.postgresql.org/docs/current/datatype-oid.html检索实际名称,根据当前需要自动进行模式限定search_path.

SELECT *, tableoid::regclass::text AS table_name
FROM   master.tbl
WHERE  <some_condition>;

More:

  • 根据表值找出哪个架构 https://stackoverflow.com/questions/12902072/find-out-which-schema-based-on-table-values/12902441#12902441
  • 使用 Postgres 从多个模式中选择(检索)所有记录 https://stackoverflow.com/questions/20575610/retrieve-all-records-from-multiple-schemas-in-a-postgresql-database/20576324#20576324
  • search_path 如何影响标识符解析和“当前模式” https://stackoverflow.com/questions/9067335/how-does-the-search-path-influence-identifier-resolution-and-the-current-schema/9067777#9067777
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查询行继承自的父表时获取行的源表的名称 的相关文章

  • 减少 plpgsql 中烦人的通知

    我有一个使用临时表的函数 如果存在则必须将其删除 drop table if exists t xy create temp table t xy on commit drop as select 随后我在视图中使用这个函数 当 selec
  • 大型数据集的报告工具/查看器

    我有一个数据处理系统 可以根据其处理的数据生成非常大的报告 我所说的 大 是指该系统的 小 执行在转储到 CSV 文件中时会产生大约 30 MB 的报告数据 而大数据集大约为 130 150 MB 我确信有人有更大的想法 大 但这不是重点
  • 基类和派生类构造函数的内存分配

    创建派生类对象时首先为哪一个分配空间 是基类构造函数还是派生类构造函数 First 分配 您所询问的内存保留不同于并且先于初始化 执行构造函数 本质上在该内存中设置合适的值 以及 正式的 我们的神圣标准 和实践的不同之处在于大多数派生对象的
  • 存储过程 EXEC 与 sp_executesql 的区别?

    我写了两个存储过程 其中一个是sp executesql而其他没有 sp executesql 两者都正确执行相同的结果 我不明白两者之间有什么区别 EXEC SQL 与 EXEC sp executesql SQL N eStatus v
  • 将记录与另一个表上的最新记录连接

    我正在尝试创建一个 SQL 视图 我如何从一个表中选择最新的记录 而其他记录保持原样 我需要从所有表中选择所有记录 这工作正常 但我需要仅按日期选择最新的提案 这是我遇到的问题 这是我到目前为止所拥有的 SELECT TOP 100 PER
  • 选择语句REF oracle

    我需要一些帮助来创建将使用引用的选择语句 我设法很好地插入了值 但是当我尝试使用 where 语句提取值时 输出要么是数据类型错误 要么会输出两个表以及它们都包含的数据 这只是一个例子 Create or replace table1 Ty
  • ssis将N个表从源服务器加载到目标服务器的最佳实践

    我需要将 N 个 大约 50 个 表从源数据库加载到目标数据库 每个表都与其他表不同 因此元数据不同 我想我可以使用父 pkg 来调用子 pkg 其中每个子 pkg 都有简单的结构 例如 DFT 来映射要导入的表 1 个子 pkg gt 1
  • Spring:如何将 KeyHolder 与 PostgreSQL 一起使用

    最近迁移到 POSTGRESQL 我试图获取在数据库表中创建新条目时唯一生成的密钥 桌子screenstable看起来像这样 CREATE TABLE screenstable id serial NOT NULL screenshot b
  • 接口实现:声明必须兼容

    我有界面 interface AbstractMapper public function objectToArray ActiveRecordBase object 和课程 class ActiveRecordBase class Pro
  • Java中C是A的子类时“C c = new C()”和“A c = new C()”的区别

    假设我们有类 A 作为父类 以及扩展它的类 C class A void m System out println A m class C extends A Override void m System out println C m 和
  • Postgres:跨行连接 JSONB 值?

    我正在掌握 Postgres gt 9 5 中的 JSONB 功能 并且很喜欢它 但遇到了障碍 我读过有关连接 JSON 字段的功能 所以 a 1 b 2 创造 a 1 b 2 但我想在多行的同一字段中执行此操作 例如 select row
  • SQL Server到Mysql迁移(使用Mysql Workbench)数据传输错误

    我正在使用 Mysql Work bench 6 3 将数据库从 MS Sql server 2008 迁移到 Mysql 在 批量数据传输 期间出错并出现以下警告 这种情况仅发生在像 varchar char 这样的列类型上 当我尝试使用
  • 如何使用 pgAdmin 恢复 postgreSQL 转储文件?

    我有一个 dmp 文件 想要从中恢复数据库 使用 pgAdmin 我该怎么做 在 PgAdmin3 内 在您正在使用的服务器中创建一个新数据库 右键单击该数据库并选择 恢复 使用 浏览器 按钮选择 dmp 文件 选择 恢复 开始恢复数据库
  • 使用聚合函数时减少 Athena 扫描的数据量

    以下查询扫描 100 MB 的数据 select from table where column1 val and partition id 20190309 然而 下面的查询扫描了 15 GB 的数据 有超过 90 个分区 select
  • 对 SQL Server 2005 结果进行分页

    如何在 SQL Server 2005 中对结果进行分页 我在 SQL Server 2000 中尝试过 但没有可靠的方法来做到这一点 我现在想知道SQL Server 2005是否有任何内置方法 分页的意思是 例如 如果我按用户名列出用户
  • WHERE 子句或 ON 子句中的 INNER JOIN 条件?

    我今天输错了一个查询 但它仍然有效并给出了预期的结果 我的意思是运行这个查询 SELECT e id FROM employees e JOIN users u ON u email e email WHERE u id 139840 但我
  • 如何在 SQL 中编写 where 子句来按一天中的时间过滤 DATETIME 列?

    我有带有 DATETIME 列时间戳的数据 我想将其过滤到 DATETIME 介于上午 9 30 到下午 5 30 之间的任意一天的记录集 最好的方法是什么 更新 更改是因为我需要精确到分钟 而不仅仅是小时 对于那个很抱歉 您始终可以将其编
  • 简单的t-sql而不是触发器

    任何人都可以帮助解决简单的 t sql 脚本与板载触发器的问题吗 我使用非常简单的触发器将数据从一个表复制到另一个表 这些表之间没有关系 当我尝试在触发器创建后 从同一脚本 直接第一次插入数据时 我得到了所需的结果 但所有接下来的尝试都会失
  • 根据 SQL 查询的集合生成成员的“散点图”结果

    我有一个staff包含工作人员的数据库表 其中user no and user name列 我还有一个 department 包含员工可以加入的部门的表 其中dept no and dept name作为列 因为员工可以是多个部门的成员 所
  • Linq-to-entities,在一个查询中获取结果+行数

    我已经看到了有关此事的多个问题 但它们已经有 2 年 或更长 的历史了 所以我想知道这方面是否有任何变化 基本思想是填充网格视图并创建自定义分页 所以 我还需要结果和行数 在 SQL 中 这将类似于 SELECT COUNT id Id N

随机推荐