2013-08-20 43 views
-1

我在甲骨文如何轉行到

Number Text 
12345 ab 
12345 abc 
12345 acbd 

以下數據我怎麼能轉換它成爲列:

Number Text1 Text2 Text3 
12345 ab abc abcd 

如何做到這一點使用SQL在Oracle中?

+0

你對你的數據究竟做什麼?你想插入或從你的表中選擇? – user75ponic

+0

從Oracle 11中查看PIVOT運算符。 – jods

回答

1

爲了數據的多行旋轉爲列,首先我會用row_number(),然後你可以使用聚合函數CASE表達式來得到最終結果:

select "Number", 
    max(case when seq = 1 then "Text" end) Text1, 
    max(case when seq = 2 then "Text" end) Text2, 
    max(case when seq = 3 then "Text" end) Text3 
from 
(
    select "Number", "Text", 
    row_number() over(partition by "Number" order by "Text") seq 
    from yourtable 
) d 
group by "Number"; 

SQL Fiddle with Demo