我有许多对所有模式都是通用的记录。我将这些记录放在共享模式表中,并希望在每个子模式中继承此共享父表中的记录行。
假设我有以下模式:
CREATE SCHEMA parent;
CREATE SCHEMA a;
CREATE SCHEMA b;
CREATE TABLE parent.component (product_id serial PRIMARY KEY, title text);
CREATE TABLE a.component () INHERITS (parent.component);
CREATE TABLE b.product () INHERITS (parent.component);
INSERT INTO parent.component(title) VALUES ('parent');
INSERT INTO a.component(title) VALUES ('a_test') ,('a_test2') ;
INSERT INTO b.component(title) VALUES ('b_test') ,('b_test2');当我在parent或b上发出select时,是否有方法从a和b.component或a中选择行的合并?
例如:
SELECT * FROM a.component; 返回行:
id | title
---------------
1 parent
2 a_test
3 a_test2发布于 2018-04-17 16:50:55
PostgreSQL具有多个继承,因此一个表可以是许多表的子表。你可以试着从另一个方向继承!
但是,也许简单的UNION ALL查询是一个更简单、更好的解决方案。
https://stackoverflow.com/questions/49881423
复制相似问题