Sql 使用其他列从JSONB列获取数据

Sql 使用其他列从JSONB列获取数据,sql,json,postgresql,jsonb,Sql,Json,Postgresql,Jsonb,在我的PostgreSQL数据库中,我有以下模式: CREATE TABLE survey_results ( id integer, domain_name varchar, scores jsonb DEFAULT '{}'::jsonb ); INSERT INTO survey_results (id, domain_name, scores) VALUES (1, 'food_insecurity','{"medica": { "categories"

在我的PostgreSQL数据库中,我有以下模式:

CREATE TABLE survey_results (
    id integer,
    domain_name varchar,
    scores jsonb DEFAULT '{}'::jsonb
);

INSERT INTO survey_results (id, domain_name, scores)
    VALUES (1, 'food_insecurity','{"medica": { "categories": { "food_insecurity": "low", "housing": "high"  } } }');

INSERT INTO survey_results (id, domain_name, scores)
    VALUES (2, 'housing','{"medica": { "categories": { "food_insecurity": "low", "housing": "high"  } } }');
现在,我想让sql查询增加一列。此列应使用域名列值从
scores#>'{medica,categories}'
获取分数,因此结果应如下所示:

    id         | domain_score
----------------------------------
    1          | low
    2          | high
如何在PostgreSQL中执行此操作


这里是db fiddle与我的db模式:

使用
->
->
您可以使用列名作为操作数,例如:

select *, scores->'medica'->'categories'->>domain_name as domain_scores
from survey_results;