首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将2 cols 1行移动到oracle中的1 cols 2行

如何将2 cols 1行移动到oracle中的1 cols 2行
EN

Stack Overflow用户
提问于 2019-11-06 12:03:12
回答 1查看 59关注 0票数 0

我有一个疑问,我似乎搞错了。我想改变结果集,所以它是1色,可以是N行。

原始查询

代码语言:javascript
复制
select src_approval, dst_approval
from example_table
where id = 62615
group by src_approval, dst_approval

我尝试了以下不正确的方法。

代码语言:javascript
复制
select src_approval, dst_approval
from example_table
unpivot
( colvalue for col in (src_approval, dst_approval) )
where id = 62615
group by src_approval, dst_approval

我尝试了下面的方法,它仍然给了我2列

代码语言:javascript
复制
select *
from   ( 
select src_approval, dst_approval
from example_table
where id= 62615
group by src_approval, dst_approval
)
 unpivot
       ( income_component_value
         for income_component_type in (src_approval, dst_approval)
       )

结果

代码语言:javascript
复制
select *
from   ( 
select src_approval, dst_approval
from e_p
where exemption_id = 62615
group by src_approval, dst_approval
)
 unpivot
       ( owner
         for approval in (src_approval, dst_approval)
       )
EN

回答 1

Stack Overflow用户

发布于 2019-11-06 12:05:31

如果考虑使用unpivot,可以使用横向连接:

代码语言:javascript
复制
select distinct x.dte
from example_table et cross join lateral
     (select et.src_approval as dte from dual union all
      select et.dst_approval as dte from dual
     ) x
where id = 62615;

更常见的是,这只是使用union编写的。

代码语言:javascript
复制
select et.src_approval
from example_table et
union     -- on purpose to remove duplicates
select et.dst_approval
from example_table et;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58729758

复制
相关文章

相似问题

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