извлечение элементов из объекта json внутри таблицы postgresql - PullRequest
0 голосов
/ 08 мая 2020

Я пытался узнать, как выполнить запрос на выборку в таблице с переменной jsonb.

в основном таблица называется cardtech, а переменная - data

 {
"cardTransaction": [
    {
        "ppan": "482003PAYXMO3770",
        "time": "2020-03-21T00:00:00",
        "type": "205",
        "amount": {
            "ccy": "IDR",
            "value": 325105
        },

- одна из записей.

во всех других таблицах я смог извлечь данные, используя

 data->customer->>ppan as ppan

Но с этим я, похоже, не могу пройти первый раздел, и что бы я ни попробуйте, я могу получить только весь объект.

Мне нужна помощь в том, как извлечь первый элемент cardTransaction, который является ppan.

для создания новой таблицы просмотра.

Кто-нибудь, пожалуйста, помогите мне?

1 Ответ

1 голос
/ 08 мая 2020

Элемент для ключа cardTransaction является массивом, поэтому вам нужно получить доступ к объекту по индексу

data -> 'cardTransaction' -> 0 ->> 'ppan'

'cardTransaction' -> 0 выбирает первый элемент массива определяется ключом 'cardTransaction'

В отличие от собственных массивов Postgres, массивы JSON начинаются с индекса 0

...