将查询结果转换为hstore

问题描述 投票:0回答:1

我使用的是 PostgreSQL 9.4。我需要将子查询转换为 hstore。 我有这样的疑问:

select code, value_string from dir
。它回来了

code  | value_string
------|--------------
CODE  | 1
ACC   | 2
...

如何将他的结果转换为

hstore('"ACC"=>"2", "CODE"=>"1", ...')

我正在寻找这样的东西:

SELECT hstore(select code, value_string from dir)

postgresql aggregate-functions hstore
1个回答
5
投票

对于文档

hstore(text[], text[])
- 从单独的键和值数组构造一个 hstore。

使用

array_agg()
作为此函数的参数。示例:

create table dir (code text, value_string text);
insert into dir values
('CODE', 1),
('ACC', 2);

select hstore(array_agg(code), array_agg(value_string))
from dir;

         hstore          
-------------------------
 "ACC"=>"2", "CODE"=>"1"
(1 row)
© www.soinside.com 2019 - 2024. All rights reserved.