如何使用PostgREST API构造多OR组合条件查询?
PostgREST 多组OR组合条件查询实现
要实现你需要的condition1 AND (condition2 OR condition3) AND (condition4 OR condition5)逻辑,只需利用PostgREST的参数默认AND关联特性,将每组OR条件分别用or=(...)包裹,作为独立的查询参数即可。
具体示例
假设你的目标SQL是:
SELECT * FROM people WHERE grade >= 90 AND (age = 14 OR age = 15) AND (score >= 85 OR score <= 60)
对应的PostgREST GET请求为:
GET /people?grade=gte.90&or=(age.eq.14,age.eq.15)&or=(score.gte.85,score.lte.60)
逻辑说明
- PostgREST中,多个查询参数之间默认是AND逻辑,因此每个
or=(...)会被解析为一个独立的条件块,自动与其他参数(包括其他or块)用AND连接。 - 如果OR块内部需要嵌套AND条件,可继续使用
and()语法,比如or=(and(age.gte.21,age.lte.27),age.eq.14),这和你之前找到的示例逻辑一致。
内容的提问来源于stack exchange,提问作者Miloš Đorđević
相关产品推荐
相关产品推荐

