【问题标题】:Insert based on select of hstore column根据 hstore 列的选择插入
【发布时间】:2017-10-10 16:28:41
【问题描述】:

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

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

id
fields (hstore)

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

id
key
value
car_id
date

如何在插入键中循环到我的字段属性,值到我的存储表。

有没有办法通过选择命令来做到这一点?

【问题讨论】:

    标签: postgresql hstore


    【解决方案1】:

    示例数据:

    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 into store (car_id, key, value)
    select id, key, value
    from car, each(fields);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-21
      • 1970-01-01
      • 2014-09-29
      • 1970-01-01
      相关资源
      最近更新 更多