Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL:动态创建结果列_Postgresql - Fatal编程技术网

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

我想在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 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