我需要以水平方式显示查询输出。我有一些示例数据
create table TestTable (id number, name varchar2(10))
insert into TestTable values (1, 'John')
insert into TestTable values (2, 'Mckensy')
insert into TestTable values (3, 'Valneech')
insert into TestTable values (4, 'Zeebra')
commit
select * from TestTable
这将在垂直 View 中获得输出。
ID Name
==========
1 John
2 Mckensy
3 Valneech
4 Zeebra
但是,我需要水平显示它。
ID 1 2 3 4
Name John Mckensy Valneech Zeebra
怎么能做到这一点?
最佳答案
要旋转,您应该使用 select 语句的 pivot clause :
select *
from testtable
pivot ( max(name)
for id in (1,2,3,4)
)
这在 SQL 中并不是特别好做,所以你应该仔细考虑这是否是你想要做的。我通常使用 Oracle Base 来旋转示例,但也有很多。
这里有一个小 SQL Fiddle 来演示。
关于sql - 查询以水平显示输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12328849/