私はちょうどpostgresqlのjson機能を発見しましたが、クエリでjsonを生成する方法を理解できませんでした。私は、私が質問している質問が意味を成していることを願っています。postgresql json:keys as values
私の問題?いくつかの値を他の人の鍵とするjsonを生成する方法。 ここでは例
drop table if exists my_table;
create table my_table(id int, sale_year int, sale_qty int);
insert into my_table values (10, 2007, 2);
insert into my_table values (10, 2008, 1);
insert into my_table values (10, 2009, 0);
insert into my_table values (20, 2009, 2);
insert into my_table values (30, 2011, 1);
insert into my_table values (30, 2012, 3);
次の文
SELECT id, json_agg(to_json(my_table)) FROM public.my_table group by id;
は私のIDごとにJSONを与える(例えば、ID用= 20)
20, [{"id":20, "sale_year": 2009, "sale_qty": 2}]
、私の質問は:
です次の構造のjsonを返すことは可能ですか?
select id, json_agg(json_build_object(sale_year, sale_qty))
from my_table
group by id
order by id;
これが返されます:
{"2009": 2}
幻想を与えます。どうもありがとう。 – user1043144
結果として、リストではなくキー値を持つjsonbを持つことは可能でしょうか? {"2007":2}、{"2008":1}、{"2009":0}]のように{{"2007":2、 "2008":1、 "2009"別の質問でこれを尋ねるべきですか? – user1043144