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 に答える