[英]How to use a WHERE statement in Postgres with an array of OR combinations?
我不确定如何表达这个问题,但是前提是我有一个表,其中主键由两列定义: row
和col
。 我还想查询许多单独的列,这就是我的问题所在。
如果我有一个名为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.