Я пытаюсь получить различные значения sample_id
из таблицы базы данных PostgreSQL. Это было бы просто, за исключением того факта, что они встроены в поле JSONB.
Вот как выглядит моя база данных при запуске select * from event limit 10
:
id | step | event_date | event_status | payload
----+------+------------+--------------+-----------------------------
1 | 1 | 2018-01-10 | success | {"x": "y", "sample_id": [0]}
2 | 2 | 2018-01-12 | success | {"x": "y", "sample_id": [0]}
3 | 3 | 2018-01-14 | success | {"x": "y", "sample_id": [0]}
4 | 1 | 2018-01-13 | success | {"x": "y", "sample_id": [1, 38, 63]}
5 | 2 | 2018-01-15 | success | {"x": "y", "sample_id": [1]}
6 | 3 | 2018-01-17 | pending | {"x": "y", "sample_id": [1]}
7 | 1 | 2018-01-16 | success | {"x": "y", "sample_id": [2]}
8 | 2 | 2018-01-18 | success | {"x": "y", "sample_id": [2, 55]}
9 | 3 | 2018-08-20 | success | {"x": "y", "sample_id": [2]}
10 | 1 | 2018-01-19 | success | {"x": "y", "sample_id": [3]}
Для следующего вывода я должен получить следующие данные: [0, 1, 2, 3, 38, 55, 63]
(порядок сортировки не имеет значения).
Я изучил использование функций поля JSONB , но безуспешно. Есть идеи, как построить такой запрос?