2016-07-07 30 views
1

非常基本,但我現在卡住了。SQL選擇 - 轉換列中的行

在Informix數據庫(無支點選項),我正在尋找使用SQL下表改造,以動態方式:

 
book  | info | value 
----------------------------- 
Moby Dick | price | high 
Moby Dick | stock | few 
Hamlet  | price | low 
Hamlet  | stock | many 
Faust  | price | medium 
Faust  | stock | normal 

結果表:

 
book  | price | stock 
----------------------------- 
Moby Dick | high | few 
Hamlet  | low | many 
Faust  | medium | normal 

感謝您的幫助!

回答

1

您可以基於CASE表達式按書集合進行聚合。嘗試這樣的事情。

SELECT book, 
MAX(CASE WHEN info = 'price' THEN value END) as price, 
MAX(CASE WHEN info = 'stock' THEN value END) as stock 
FROM table1 
GROUP BY book 
+0

對,但我的價值實際上是一個字符串。不好的例子,我改變它。 – LordGhettofaust

+0

在這種情況下使用'MAX' – ughai

+0

太好了!這工作。謝謝你... – LordGhettofaust