在Oracle中将列转换为行[重复]

Posted

技术标签:

【中文标题】在Oracle中将列转换为行[重复]【英文标题】:Converting columns to rows in Oracle [duplicate] 【发布时间】:2014-02-18 10:08:29 【问题描述】:

我有一个表,其中包含两列 first_name、last_name,其中一行为 john mathew。我希望结果为 john 在一行中,而 mathew 在下一行中。

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

结果为

Name
-----
JOHN
METHEW

总之想将列转换为行。

【问题讨论】:

请在本站搜索一下,你一定会得到答案 【参考方案1】:
SELECT name
  FROM pivot_test
UNPIVOT ( name FOR origin IN (fname, lname) )

SQL Fiddle

【讨论】:

【参考方案2】:

选择 fname 从结核病 UNPIVOT ( fname FOR origin IN (fname, lname) )

【讨论】:

【参考方案3】:
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                

【讨论】:

这只会连接它们。

以上是关于在Oracle中将列转换为行[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 Oracle 11g 中将列转换为行

在 ORACLE SQL 中将一组列转换为行

熊猫将列转换为行[重复]

将数据从列转换为行[重复]

SQL Server 2008 R2,将列转换为行,将行转换为列[重复]

在Oracle中将连字符分隔的字符串拆分为行