我不知道如何解釋這個問題,但前提是我有一個表,主鍵由兩列定義:row
和col
。我也想查詢許多單獨的列,這是我的問題發揮的地方。如何在Postgres中使用WHERE語句和OR組合數組?
如果我有一個簡單的列名爲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 ARRAY [行,列] = ANY($ 1)'其中'$ 1'是整數數組的數組? – melpomene
這是一件事嗎?如果是這樣,我會嘗試一下! – DonutGaz