2013-12-13 48 views
0

我有記錄的數據表,如下圖所示,擷取列

 
ID ATTR_NAME ATTR_VALUE 
1 ABC   DEF 
1 GHI   JKL 
1 MNO   PQR 

我想獲得一個行作爲

 
ID ABC GHI MNO 
1 DEF JKL PQR 
+3

搜索「Pivot」 –

+0

而PL/SQL不是一個選項嗎? –

+0

PL SQL不是一個選項 – user1597215

回答

0

它可能是一個有點脆弱,而不是未來的校對,但透視可以給你想要的東西:

SELECT * 
FROM (
    SELECT attr_name, attr_value 
    FROM test 
) 
PIVOT 
( MIN(attr_value) 
    FOR attr_name IN ('ABC','GHI','MNO') 
) 

不過,我建議你考慮,如果你真的需要這種格式,看看你是否能以更自然的格式出來。

+0

是的,這就是我想要的,謝謝 – user1597215