0

ここに jsonb 列のダミーデータがあります

{
"address": [
{
  "country": "US",
  "extension": [
    {
      "extension": [
        {
          "valueDecimal": -71.024638,
          "url": "latitude"
        },
        {
          "url": "longitude",
          "valueDecimal": 42.082543
        }
      ],
      "url": "url1"
    }
  ],
  "postalCode": "02301",
  "city": "Brockton"
},
{
  "country": "US",
  "extension": [
    {
      "extension": [
        {
          "valueDecimal": -71.024638,
          "url": "latitude"
        },
        {
          "url": "longitude",
          "valueDecimal": 42.082543
        }
      ],
      "url": "url2"
    }
  ],
  "postalCode": "02301",
  "city": "Brockton"
}
]
}

次のようなものを取得したいのですがaddress->'extension'->'extension'->'valueDecimal'、jsonでのみ機能しますが、JSONデータの配列です...私の期待する出力-

[-71.024638, -71.024638]

以下のクエリで最初の拡張機能 (つまり、JSON の最初の配列) を取得できます

SELECT elems.value  FROM "patient", jsonb_array_elements(resource -> 'extension') AS elems;

問題は、内部の「拡張」(拡張オブジェクト内にある) データを取得できないことです。どんな助けでも役に立ちます。

4

1 に答える 1