我有一个表XYZ,其中有几列,我需要根据两列(col1,col2)过滤掉结果集请求的参数
请求索引如:
filter: [ {col1: val1, col2: val2 }, {col1: val11, col2: val12 }]
API请求收到一个包含哈希数组的参数,每个哈希都有一对请求的查询过滤器。这是我的表结构和预期的结果集
表
id col1 col2
----------------------
1 val1 val2
2 val11 val12
3 val21 val12
4 val1 val2
5 val33 val33
结果应为
id col1 col2
--------------------
1 val1 val2
2 val11 val12
4 val1 val2
我查了https://dba.stackexchange.com/questions/117767/postgresql-pattern-match-against-array-elements但不明白。 请帮忙
答案 0 :(得分:1)
您可以根据提供的值使用IN
条件:
select *
from xyz
where (col1, col2) in ( ('val1', 'val2'), ('vall11', 'vall12') )