Sql 选择Select语句的列名称

Sql 选择Select语句的列名称,sql,postgresql,Sql,Postgresql,我有一些select语句,其中之一: SELECT c_c.id, c_c.full_name, c_c.telephone, c_c.fax, cast(c_c.adress_juridical as varchar(256)) as adress_juridical, cast(c_c.adress_naturale as varchar(256)) as adress_naturale, c_c.direc

我有一些select语句,其中之一:

SELECT c_c.id,
       c_c.full_name,
       c_c.telephone,
       c_c.fax,
       cast(c_c.adress_juridical as varchar(256)) as adress_juridical,
       cast(c_c.adress_naturale as varchar(256)) as adress_naturale,
       c_c.director,     
       c_c.name,
       c_c.b_id,
       c_c.dt_start,
       c_c.dt_end       
FROM c_counteragents c_c  
WHERE c_c.id = -1 AND c_c.b_id = -1;
如何获取select语句的名称? 此select的列名称必须不带allias
c\u c

仅仅获取一个表名并查找表的列名并不容易。我不知道表的名称,因为我从某个表中检索到这个
SELECT
语句,它以文本形式存储的位置。

您的意思是需要在列标题中为id(如c_counteragents.id)输出吗?一种方法是使用查询创建视图,然后在
信息\u SCHEMA.columns
中使用列名。您使用的是什么语言和客户端驱动程序?PostgreSQL在v3 wire协议中的
description
消息响应中报告此信息,但据我所知,您无法从SQL级别获得此信息。您需要使用客户端驱动程序的元数据函数。PgJDBC公开了这些信息,我不知道是否有许多/任何其他驱动程序公开了这些信息。
SELECT*FROM information_schema.columns,其中table_name='c_counteragents'按顺序排列
,但您需要表名。