Postgres 等同于 ANY ... SATISFIES in n1ql 以组合 ANY 和 IN

Postgres equivalent of ANY ... SATISFIES in n1ql to combine ANY and IN

我知道在 n1ql 中,您可以编写一个结合 ANYIN 运算符的查询条件,如下所示:

WHERE ANY v IN [v1, v2] SATISFIES v IN c1 END

我正在尝试在 postgres 中重写相同的查询,现在我正在使用 OR,就像这样:

WHERE v1 IN c1
OR v2 IN c1

但是我可以使用 SATISFIES 的等效项吗?

假设 c1 是一个子查询,您可以使用数组重叠运算符 &&:

WHERE ARRAY[v1, v2] && array(SELECT ...)

如果数组有共同的元素,那将是 TRUE,这应该符合您的要求。

我也在考虑数组的思路,像这样...

    select *
    from my_table
    where array[v1, v2] @> array[c1]  

db-fiddle: https://www.db-fiddle.com/f/9qfJzyF6sfoNfFxRKtXa1W/0