Вывод строки в виде таблицы key-value в PostgreSQL
Допустим есть таблица Box с описанием характеристик ящиков
Box
| Id | Длина | Ширина | Высота |
|---|---|---|---|
| 1 | 10 | 20 | 30 |
| 2 | 15 | 25 | 35 |
| 3 | 55 | 65 | 75 |
Чтобы получить выборку по какой-либо записи из таблицы в виде key-value, например, для записи с id = 3, то есть получить такой результат
| key | value |
|---|---|
| Id | 3 |
| Длина | 55 |
| Ширина | 65 |
| Высота | 75 |
Сделать это можно следующим кодом:
select * from jsonb_each ( (select to_jsonb(b.*) from box b where b.id=3) ) s