如何在PostgreSQL 9.3中获取数据透视表而不在外括号中指定内部sql列

如何在PostgreSQL 9.3中获取数据透视表而不在外括号中指定内部sql列,postgresql,postgresql-9.3,Postgresql,Postgresql 9.3,目前,我正在使用PostgreSQL Plus Advance Server 9.3,我有一个如下表:- Section Status ct A Active 1 A Inactive 2 B Active 4 B Inactive 5 我使用下面的查询得到透视表:- SELECT * FROM crosstab(

目前,我正在使用PostgreSQL Plus Advance Server 9.3,我有一个如下表:-

   Section    Status    ct
    A          Active    1
    A          Inactive  2
    B          Active    4
    B          Inactive  5
我使用下面的查询得到透视表:-

      SELECT * FROM crosstab(
               'SELECT section, status, ct
                FROM   t
                ORDER  BY 1,2',$$VALUES ('Active'), ('Inactive')$$) 
        AS ct ("Section" text, "Active" int, "Inactive" int);

        Section    Active    Inactive
        A          1         2
        B          4         5
所以我的问题是,在
ct()
中不指定输入sql查询列名(即
“Section”text
)是否可以获得相同的输出。谢谢

我的意思是我希望使用如下查询获得相同的输出:

SELECT * FROM crosstab(
           'SELECT section, status, ct
            FROM   t
            ORDER  BY 1,2',$$VALUES ('Active'), ('Inactive')$$) 
    AS ct ("Active" int, "Inactive" int);

在第二个示例中,您要求从交叉表中输入两列,而不是三列-我不太确定您想要实现什么。@Richard我想说的是,我想要“select语句”和“$$values语句$$”的所有列,即“section,Active,Inactive”,只需将“$$values$$”列名写入ct()中,如ct(“Active”int,“Inactive”int)就像sql server pivot queryAh中发生的情况一样,您试图让“内部”列名显示出来吗?不,我认为没有一种方法可以做到这一点,而不将交叉表调用包装到另一个函数中。@Richard感谢您的快速响应,您的意思是没有办法做到这一点。