У меня есть эта вложенная json-структура в столбце с именем schema:
{"fields" : {"Kommune2015" : {"0101" : "Halden", "0104" : "Moss" }}}
Я могу получить значение, используя:
select schema::jsonb#>>'{fields,Kommune2015,0101}' from meta;
?column?
---------
Halden
(1 row)
Но если я запрашиваю ключ, который не существует, я все равно получаю
select schema::jsonb#>>'{fields,Kommune2015,010}' from meta;
?column?
----------
(1 row)
Добавление оператора where возвращает значение, если ключ существует:
select schema::jsonb#>>'{fields,Kommune2015,0101}' from meta where schema::jsonb#>>'{fields,Kommune2015,0101}' is not null;
Можно ли сократить этот запрос, чтобы не нужно было явно называть ключ дважды?
Это версия 10.5.