PostgreSQL:动态创建结果列
我想在PostgreSQL查询中“动态”创建结果列。我有这些桌子:PostgreSQL:动态创建结果列,postgresql,Postgresql,我想在PostgreSQL查询中“动态”创建结果列。我有这些桌子: CREATE SEQUENCE users_id; CREATE TABLE users ( id INT PRIMARY KEY NOT NULL DEFAULT NEXTVAL('users_id'), name VARCHAR(128) NOT NULL ); CREATE SEQUENCE quota_rules_id; CREATE TABLE quota_rules ( id INT PRIMARY K
CREATE SEQUENCE users_id;
CREATE TABLE users (
id INT PRIMARY KEY NOT NULL DEFAULT NEXTVAL('users_id'),
name VARCHAR(128) NOT NULL
);
CREATE SEQUENCE quota_rules_id;
CREATE TABLE quota_rules (
id INT PRIMARY KEY NOT NULL DEFAULT NEXTVAL('quota_rules_id'),
user_id INT REFERENCES users(id),
rule VARCHAR(255) NOT NULL
);
CREATE INDEX user_id_index ON quota_rules(user_id);
INSERT INTO users (name) VALUES ('myname'); -- id=1
INSERT INTO quota_rules (user_id, rule) VALUES (1, 'a');
INSERT INTO quota_rules (user_id, rule) VALUES (1, 'b');
INSERT INTO quota_rules (user_id, rule) VALUES (1, 'c');
并希望查询返回以下内容(1行):
查看模块的
交叉表
功能谢谢!我看到的所有示例都是这样的:从交叉表(“..”)中选择*作为(字段1、字段2、字段3);是否可以动态地使右侧变为右侧?例句:如果配额规则中有五行,我会得到(名称、配额规则、配额规则2、配额规则3、配额规则4、配额规则5)?
SELECT ............ user_id = 1;
name | quota_rule | quota_rule2 | quota_rule3
myname | a | b | c