在Oracle中将列转换为行

时间:2014-02-18 10:08:29

标签: sql oracle oracle11g

我有一个包含两列first_name,last_name的表,其中一行为john mathew。我想把结果作为约翰排在一行,将mathew放在下一行。

FNAME   LNAME
-------------
JOHN    METHEW

结果为

Name
-----
JOHN
METHEW

简而言之,希望将列转换为行。

3 个答案:

答案 0 :(得分:1)

SELECT name
  FROM pivot_test
UNPIVOT ( name FOR origin IN (fname, lname) )

SQL Fiddle

答案 1 :(得分:0)

create table 

tb(fname varchar2(10),lname varchar2(10));

insert into tb values('JOHN','METHEW');

select fname || chr(10) || lname as name from tb;

NAME                
---------------------
JOHN                  
METHEW                

答案 2 :(得分:0)

SELECT fname   来自tb UNPIVOT(fname为原产地IN(fname,lname))