在查询从中继承的父级时,获取行的源表的名称

lta*_*tab 7 sql postgresql inheritance

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

这里找到的方法不起作用,因为我只查询一个表,并且不知道哪些孩子会提前出现在结果中.

Erw*_*ter 13

要识别特定行所在的表格,请使用tableoid,就像您已经发现的那样.
用于regclass检索实际名称的强制转换,如果当前需要,则自动进行模式限定search_path.

SELECT *, tableoid::regclass::text AS table_name
FROM   master.tbl
WHERE  <some_condition>;
Run Code Online (Sandbox Code Playgroud)

更多: