在我的 PostgreSQL 数据库中,我有以下架构:
CREATE TABLE referral_datas (
id integer,
referrals jsonb
);
INSERT INTO referral_datas (id, referrals)
VALUES (1, '[{"risk_score": "1"}]');
INSERT INTO referral_datas (id, referrals)
VALUES (2, '[{"risk_score": "2"}]');
INSERT INTO referral_datas (id, referrals)
VALUES (3, '[{"risk_score": "3"}]');
和以下查询:
select * from referral_datas where referrals @> '[{"risk_score": "2"}]'
它返回以下结果:
id | referrals
----------------------------------------
2 | [{"risk_score":"2"}]
查询工作正常,但我想要一个查询来查找推荐数据risk_score = 2
或risk_score = 1
所以查询的结果应该是:
id | referrals
----------------------------------------
1 | [{"risk_score":"1"}]
2 | [{"risk_score":"2"}]
我怎样才能在 PostgreSQL 中做到这一点?
这是您可以尝试的 db fiddle: