【发布时间】:2020-11-07 16:23:06
【问题描述】:
我有一个带有电子邮件表的 postgres 数据库,该表有一个 jsonb 列,用于存储电子邮件发送给谁。如果一封电子邮件发送给一个人,它的存储方式类似于
{"name": "bob", "email": "bob@email.com"}
我可以通过这样做来查询这个
select * from email where (to->>'address') = 'bob@email.com';
如果电子邮件发送给多个人,则其存储方式如下:
[{"email": "bob@email.com"}, {"email": "dave@email.com"}]
我可以这样查询:
select * from email where to @> '[{"email": "bob@email.com"}]';
我想知道是否有人对可以返回两种方案结果的单个查询有任何想法。
【问题讨论】:
标签: sql json postgresql where-clause jsonb