基于合并两个表的查询

时间:2016-05-23 14:21:59

标签: sql postgresql

我有两张桌子:

Visitor(id, sessions, last_seen, first_seen, ...)
CustomData(id, visitor_id, field, value, type)

访问者表维护我的应用程序跟踪访问我的应用程序的人的数据。

custom_data表包含用户提供的数据,用户可以将这些数据发送到我的应用程序以跟踪有关访问者的其他信息(它们指定数据字段的名称及其值和类型)。每行是一个单独的数据。即。 field:value,访问者可以在custom_data

中有许多条目

我希望能够以同质的方式查询这些数据,这意味着:我希望能够提问

为我的所有访问者提供5个或更多会话(在visitors表上注明会话),或者为访问者提供5个或更多purchases_madecustom_data上的字段列,提供字段名称和值用户)

有没有一种聪明的方法来实现这一点,所以我可以避免有很多条件(如果在访问者表上指定了此字段,请执行此操作,如果它在custom_data上,则执行此操作)。

我希望它有意义,非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

你应该能够做到这样的事情:

选择ID 来自.visitors 按ID分组 具有(id)> 4

与购买相同的事情。最简单但不一定最有效的方法是加入数据或使用窗口函数......但是像Tom H。评论需要更多细节来准确回答你的问题。