У меня есть таблица questions, где options - это jsonb, который представляет собой массив объектов.
"questions": [
{
"id": 76,
"text": "What is the capital of Telangana ?",
"options": [
{
"id": 1,
"text": "Hyderabad",
"correct": true
},
{
"id": 2,
"text": "Bangalore",
"correct": false
},
{
"id": 3,
"text": "Amaravathi",
"correct": false
},
{
"id": 4,
"text": "Chennai",
"correct": false
}
],
"position": 1
}
Может кто-нибудь помочь, как я могу выбрать объект option из options с помощью данного id с помощью PostgreSql?


вы можете выбрать его. разложить и фильтр, например:
t=# with c(j) as (values('{"options": [
{
"id": 1,
"text": "Hyderabad",
"correct": true
},
{
"id": 2,
"text": "Bangalore",
"correct": false
},
{
"id": 3,
"text": "Amaravathi",
"correct": false
},
{
"id": 4,
"text": "Chennai",
"correct": false
}
]}'::jsonb))
, m as (select jsonb_array_elements(j->'options') a from c) select a from m where a->>'id' = '3';
a
---------------------------------------------------
{"id": 3, "text": "Amaravathi", "correct": false}
(1 row)