首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Oracle Pivot -分配不带引号的列名

Oracle Pivot -分配不带引号的列名
EN

Stack Overflow用户
提问于 2019-07-22 00:24:30
回答 2查看 81关注 0票数 0

我有一个问题:

代码语言:javascript
复制
select * from (
select 
ab_id, abc_metric, abc_value from TABLE1)
PIVOT(
min(abc_value)
FOR abc_metric IN ('Catalog','Fruit Type')); -- I have 50 such columns

这将生成一个表:

代码语言:javascript
复制
ab_id     'Catalog'      'Fruit Type'
1         a               b
2         c               d

我希望表中的列不带引号,并用_分隔

代码语言:javascript
复制
ab_id     catalog        fruit_type
1         a               b
2         c               d

有没有办法做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-22 00:25:50

您可以简单地在PIVOT中添加AS和别名

代码语言:javascript
复制
select * 
from (select ab_id, abc_metric, abc_value from TABLE1)
PIVOT(min(abc_value)
  FOR abc_metric IN ('Catalog' AS Catalog,'Fruit Type' AS Fruit_type)
);
票数 2
EN

Stack Overflow用户

发布于 2019-07-22 00:26:15

只需使用条件聚合:

代码语言:javascript
复制
select ab_id,
       max(case when abc_metric = 'Catalog' then abc_value end) as catalog,
       max(case when abc_metric = 'Fruit Type' then abc_value end) as fruit_type
from TABLE1
group by ab_id
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57134987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档