根据hstore列的选择插入

时间:2017-10-10 16:28:42

标签: postgresql hstore

尝试将值从hstore(postgreql)插入到更通用的表

在我的车牌表中,我有这些字段

id
fields (hstore)

我的商店表,我有这些字段

id
key
value
car_id
date

如何在insert key中循环到我的fields属性,将值传递到我的商店表。

有没有办法用select命令来做?

1 个答案:

答案 0 :(得分:2)

示例数据:

insert into car values
(1, 'brand=>ford, color=>yellow'),
(2, 'brand=>volvo, mileage=>50000, year=>2015');

使用函数each(hstore)获取hstore列的对(key, value)

select id, key, value
from car, each(fields);

 id |   key   | value  
----+---------+--------
  1 | brand   | ford
  1 | color   | yellow
  2 | year    | 2015
  2 | brand   | volvo
  2 | mileage | 50000
(5 rows)    

insert命令可能如下所示:

insert into store (car_id, key, value)
select id, key, value
from car, each(fields);