2011-11-04 76 views
3

我有一個查詢返回鍵和值的表,即:如何從postgresql中的表創建hstore?

key |  value   
-----+------------------ 
    a | 3.73333333333333 
    b | 2.3 
    c | 2.76666666666667 

我想將其轉換成一個hstore:

 hstore   
----------------------- 
'a' => '3.73333333333333', 'b' => '2.3', 'c' => '2.76666666666667' 

有跡象表明,採取hstore產生功能文本,一對文本,甚至是一對數組,但沒有一個以這種方式獲取表格。

這是如何完成的?

+0

你使用的是什麼版本的PostgreSQL? –

+0

PostgreSQL 9.0.4 – MrTheWalrus

回答

4

還沒有測試過,但會工作嗎?

SELECT hstore(array_agg(key ORDER BY key), array_agg(value ORDER BY key)) 
FROM yourtable 
+0

謝謝,這是第一次嘗試它沒有工作,因爲值是一個聚合函數(平均)的結果,顯然嵌套聚合是不允許的,但使原始查詢到一個別名子 - 查詢糾正它。 – MrTheWalrus