2015-06-05 45 views
0

我有一個表(表A)有3列(可樂,COLB,COLC)列的Oracle SQL行值

可樂COLB是主鍵

select * 
from TableA 
where ColA = '001'; 

給了我這個

COLA COLB  COLC 
---- ----- -------- 
001 AA1  460 
001 AB1  380 
001 AC1  950 
001 AD1  null 
001 AE1  null 

我需要這個結果在這個格式

COLA COLC-AA1 COLC-AB1 COLC-AC1 COLC-AD1 COLC-AE1 
---- -------- -------- -------- -------- -------- 
001  460  380  950  null  null 

即將所有生成的行分成一行,ColC值爲ColC值ColumnNames

+0

[的Oracle SQL樞軸查詢](可能重複http://stackoverflow.com/questions/4841718/oracle-sql-樞軸查詢) – sstan

+0

您需要使用透視功能 – Moudiz

回答

2

您可以像這樣使用PIVOTSQL Fiddle

查詢

SELECT COLA,"'AA1'","'AB1'","'AC1'","'AD1'","'AE1'" 
FROM tbl1 
PIVOT(MAX(COLC) for COLB IN('AA1','AB1','AC1','AD1','AE1')) 

OUTPUT

COLA 'AA1' 'AB1' 'AC1' 'AD1' 'AE1' 
001 460 380 950 (null) (null)