SELECT语句postgres中的动态列

Suj*_*jit 8 sql postgresql

我对postgresql很新.

实现这一目标的最佳方法是什么?

SELECT get_columns() 
  FROM table_name;
Run Code Online (Sandbox Code Playgroud)

get_columns()将提供查询的列名称.我看到人们建议使用EXECUTE语句,但我无法正常工作.

假设有一个表测试,列a,b,c,我想运行

SELECT a,b FROM Test;
SELECT a,c FROM Test;
Run Code Online (Sandbox Code Playgroud)

使用动态生成的列名称.

小智 6

为了编写动态查询,您必须执行以下操作:

EXECUTE 'SELECT '|| get_columns()|| ' FROM table_name' INTO results
Run Code Online (Sandbox Code Playgroud)

请阅读文档:http : //developer.postgresql.org/pgdocs/postgres/plpgsql-statements.html


Mic*_*las 1

在这种情况下,我将使用带有cursor 的PL/pgSQL 函数