2017-02-16 5 views
0

私は、PostgreSQLのテーブルでjson列を読み込んでいる間に問題を直しました。以下は表の説明です。Json postgresql 9.4

task=# \d quots           
     Table "public.quots" 
     Column  | Type | Modifiers 
------------------+---------+----------- 
items   | json | 
id    | integer | 
supplier_id  | integer | 

ここには表のデータがあります。私はITEM1を照会して取得しようとすると、

select items from quots limit 1; 
                items 
----------------------------------------------------------------------------------------------------------------------------------- 
[{"item1":[{"id":5,"name":"Item Name","unitPrice":{"original":10.0,"converted":10.0}}],"item2":{"id":75,"name":"Name"},"id":23653}] 

さて、それは空を返します。

select items->'item1' from quots limit 1; 
?column? 
---------- 

(1 row) 

任意のヒント?

のPostgreSQL 9.4.4 PSQL 9.4.4

答えて

1

は、JSON値がアレイです。 items->0を使用して最初の要素を選択できます。

select items->0->'item1' from quots limit 1; 

            ?column?         
------------------------------------------------------------------------------ 
[{"id":5,"name":"Item Name","unitPrice":{"original":10.0,"converted":10.0}}] 
(1 row) 
+0

ありがとうございました。 upvotedとマークを受け入れた。再度お返事ありがとうございます。 – sharafjaffri

+0

array_to_json(items-> 0 - > 'item1')を使用しようとすると、戻ります。エラー:オブジェクトとして配列を解体することはできません – sharafjaffri

+0

私は文脈を見ることなくあなたを助けることができません。エラーの原因となったデータを含む新しい質問をします。 – klin

関連する問題