【问题标题】:How to rename columns in a Pivot query [duplicate]如何重命名数据透视查询中的列[重复]
【发布时间】:2023-03-18 23:23:01
【问题描述】:
select * from (select REGS_CRSE_TITLE as CRSE_TITLE, REGS_BILL_HR as BILL_HOURS, FCR_TO_DATE, FCR_TUIT_REFUND
from REGS, FCR
where REGS_ID = 123456
and REGS_CODE = FCR_CODE
and FCR_TERM_CODE = 2019
and FCR_RSTS_CODE in ('CD','CW')
order by REGS_CRSE_TITLE
)
pivot
(
max (FCR_TO_DATE)
for FCR_TUIT_REFUND IN (100, 50)
);

这会产生类似于以下的结果:

CRSE_TITLE                 BILL_HOURS             100         50
English II                     3               28-Aug-19    9-Sep-19
Sculpture 1                    3               28-Aug-19    9-Sep-19
Intro to Business              3               28-Aug-19    9-Sep-19
Graphic Design                 3               28-Aug-19    9-Sep-19
Senior Project               0.5               28-Aug-19    9-Sep-19
Web Application Dev            3               28-Aug-19    9-Sep-19

我需要将枢轴创建的列重命名为其他名称。所以 100 和 50 列标题将被重命名为更有意义的东西。我似乎无法像前两列那样使用简单的“AS”来做到这一点。此外,“排序依据”似乎在这种情况下也不起作用,但这对我来说并不像重命名列那么重要。任何帮助将不胜感激!

【问题讨论】:

    标签: sql oracle pivot


    【解决方案1】:

    你可以使用AS,而ORDER BY应该是最后一个子句:

    ...
    pivot
    (
    max (FCR_TO_DATE)
    for FCR_TUIT_REFUND IN (100 AS col1, 50 AS col2)
    )
    order by CRSE_TITLE 
    ;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-05
      相关资源
      最近更新 更多