0

我有一个查询,我正在处理一组属性,例如 [1,2,3,4] 等。我需要检查一个表以查看是否存在具有该 ID 的记录,我对那些感兴趣那些不存在的,而不是那些存在的。

目前我正在循环遍历 Ruby 中的数组,然后为每个数组发出单独的 SELECT 请求。这可行,但通常数组很长,并且发出许多单独的请求似乎效率很低。

我想知道是否有办法将整个数组传递给 Postgres,然后 Postgres 将所有不存在的 id 交还给我。

谢谢,

克里斯

4

1 回答 1

1

好吧想通了:

SELECT *
FROM unnest(ARRAY[1,2,3,4,5]) as s
WHERE s NOT IN (SELECT id FROM my_table);
于 2012-04-23T07:58:48.837 回答