繁体   English   中英

如何在Postgres中将WHERE语句与OR数组组合使用?

[英]How to use a WHERE statement in Postgres with an array of OR combinations?

我不确定如何表达这个问题,但是前提是我有一个表,其中主键由两列定义: rowcol 我还想查询许多单独的列,这就是我的问题所在。

如果我有一个名为id的简单列,我将可以执行WHERE id=ANY($1)这样的子句,其中$1是整数数组。 但是,如果主键由两列组成,我将无法做到相同。

WHERE row=ANY($1) AND col=ANY($2)给了我想要的区域,但没有我所需的确切元组集。 现在,我正在生成具有许多条件的模板查询字符串,例如:

WHERE row=$1 AND col=$2 OR
      row=$3 AND col=$4 OR ... 

如何避免生成此“查询模板”? 我认为这不是一个非常优雅的解决方案,但这是我现在拥有的解决方案。 任何见识将不胜感激!

where (row,col) = any(array[(1,2),(3,4)])

要么

where (row,col) in ((1,2),(3,4))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM