Я пытаюсь запросить несколько столбцов jsonb в postgresb. Я могу только выяснить, как запросить один указанный столбец c jsonb в столбце sql. Эти столбцы имеют одинаковую вложенную структуру. Вот пример структуры. Эта структура находится в двух разных столбцах jsonb.
{
"6": {
"start_date": "2008-01-02",
"end_date": "2008-01-03",
"name": "Berry",
"order_number": 6,
},
"0": {
"start_date": "2008-05-05",
"end_date": "2008-05-06",
"name": "John",
"order_number": 0,
}
}
Я могу успешно выполнить запрос в одном столбце jsonb, используя функцию jsonb_each.
Пример:
select (value->>'start_date')::timestamp as start_time, (value->>'end_date')::timestamp as end_time, value->>'name' as user, value->>'order_number' as order_num
from table, jsonb_each("jsonb_column_1")
where value->>'name' like '%Ber%';
Я хочу запросить «имена» из нескольких столбцов. Может быть, что-то вроде этого:
select c1.(value->>'start_date')::timestamp as start_time_1, c2.(value->>'start_date')::timestamp as start_time_2, c1.(value->>'name' as user1), c2(value->>'name' as user2)
from table, jsonb_each("jsonb_column_1")c1, jsonb_each("jsonb_column_2")c2
where value->>'name' like '%Ber%';