Как выполнить запрос к столбцу JSON в таблице postgres, чтобы получить все значения из всех json для конкретного ключа json - PullRequest
0 голосов
/ 29 ноября 2018

Мы используем postgres, потому что у нас была таблица, содержащая столбец типа JSON, поскольку у нас ниже тип JSON-документов,

, пожалуйста, найдите образец здесь

я хочу, чтобы все значения json-ключа student_id из всего документа JSON

я имею в виду, что у нас есть такие документы, для каждой строки в этом столбце и каждый документ содержит этот ключ JSON, я пытаюсьполучить все значения для этого ключа json из всех документов (все строки для этого столбца)

1 Ответ

0 голосов
/ 29 ноября 2018

Вы, наверное, ищете json_array_elements.Найдите все, что вам нужно, на странице json .

Для вашего примера вы можете сделать что-то вроде этого:

select json_array_elements(json_array_elements('{
"srs_student_information": {
    "header": {
        "name": "kkkk"
    },
    "beginning_segment": {
        "age": 12
    },
    "loop_id_sls": [{
        "student_level_details": {
            "class": "12"
        },
        "parent_details": [{
            "name": "assa"
        }],
        "student_identification": [{
            "student_id_qual": "BM",
            "student_id": "00547311"
        }, {
            "student_id_qual": "CN",
            "student_id": "467931496024"
        }, {
            "student_id_qual": "CN",
            "student_id": "467931496035"
        }, {
            "student_id_qual": "CN",
            "student_id": "467931496046"
            }]
        }]
    }
}'::json->'srs_student_information'->'loop_id_sls')->'student_identification')->>'student_id' student_id
...