我不确定如何说出这个问题,但前提是我有一个表,其中主键由两列定义: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 ...
如何避免生成此"查询模板"?我不认为这是一个非常优雅的解决方案,但它是我现在的解决方案。任何见解都将不胜感激!
答案 0 :(得分:1)
file://
或
where (row,col) = any(array[(1,2),(3,4)])