0

所以这是我的父表:TableA

 +-----+-----------+
 + id  +   name    +
 +-----+-----------+

这是继承tableA的表:TableB TableC

+-----+-----------+----------+
+ id  +   date    +   year   +
+-----+-----------+----------+

+-----+-----------+----------+
+ id  +   owner   +   age    +
+-----+-----------+----------+

我有一个 Select,我从 TableA 中的名称中获取一个 id,我需要的是获取包含该特定 id 的表的名称。我想过做一个视图,但我是个菜鸟,我不知道怎么做。

谢谢。

4

1 回答 1

0

您可以为此使用系统列 tableoid

下面的例子:

create table table_a (id integer, name text);
create table table_b () inherits (table_a);
create table table_c () inherits (table_a);

insert into table_b values (1, 'one');
insert into table_c values (2, 'two');

select tableoid::regclass as table_name, id, name
from table_a;

返回:

table_name | id | name
-----------+----+-----
table_b    |  1 | one 
table_c    |  2 | two 
于 2019-03-20T09:14:06.613 回答