从PostgreSQL表中选择,不包括数组项

时间:2013-05-28 17:07:13

标签: arrays postgresql postgresql-9.2

我有一个包含数组的列的表(现在让我们称之为tags)。

如何从该表中选择数组列中不包含某个标记的所有行?

2 个答案:

答案 0 :(得分:2)

您可以尝试以下内容:

SELECT *
FROM your_table
WHERE 'certain tag' != ALL (tags);

答案 1 :(得分:1)

执行此操作的一种方法是获取包含该标记的所有ID,然后您可以排除带有子查询的ID:

SELECT *
FROM foo
WHERE id NOT IN (
  SELECT id
  FROM foo
  WHERE tags @> ['specific-tag-here', 'other-tag-here']);