'标记'基于动态属性的记录,以及来自另一个表的过滤器

时间:2016-06-15 20:14:42

标签: sql postgresql

我有一个Groups表,其中包含一组JSON对象,表示要应用于SQL查询的不同过滤器

示例group

id: 1,
name: "my group",
filters: [
  {field: "sessions", type: "greater_than", value: 5}, 
  {field: "email", type: "contains", value: "@example.com}
]

已过滤的表Visitors

的示例记录
id: 1, email: "example@gmail.com", sessions: 5, more_meta_data..

我想要得到的是:

id: 1, matching_groups: ["my group"], email: "example@gmail.com", sessions: 5  more_meta_data..

请注意,访问者可以同时在多个群组中。

在查询Visitor时,我想附加所有过滤条件与Groups记录中的属性匹配的所有Visitior的名称。

我有点迷失在这一点上,如果我没有清楚地解释清楚,我会道歉。 Postgres是否允许在数据库级别完成此操作?

非常感谢任何帮助,谢谢

0 个答案:

没有答案