在oracle中将行输出转换为列

在oracle中将行输出转换为列

with cte1 as 
(
select count(*) as count_emp from emp; 
),cte2 as 
(
select count(*)  as count_dept from dept; 
),cte3 as 
(
select count(*)  as count_hr  from hr; 
)
select count_emp,count_dept,count_hr from cte1,cte2,cte3;

我想在一列三行中输出。 有关更多详细信息,请参见图片。

duolaimix 回答:在oracle中将行输出转换为列

使用union all

select count_emp from cte1
union all
select count_dept from cte2
union all
select count_hr from cte3;

请注意,不能保证结果按任何特定顺序排列。我强烈建议您标记行:

select 'emp',count_emp as cnt from cte1
union all
select 'dept',count_dept from cte2
union all
select 'hr',count_hr from cte3;
本文链接:https://www.f2er.com/2961153.html

大家都在问