【发布时间】:2021-02-01 09:26:35
【问题描述】:
我想在多个表上创建一个联接。 表登录:我想从登录中检索所有数据 表记录:按用户计算每个数据库和每个特定事件类型的 Nb_of_sessions 表会议:计算每个数据库和每个用户的 Nb_of_meetings 实时表:计算每个数据库和每个用户的 Nb_of_live
我有正确的结果:
SELECT db.id,_id as userid,firstname,lastname
FROM "logins"."login",
UNNEST(dbs) AS a1 (db)
SELECT dbid,userid,count(distinct(sessionid)) as no_of_visits,
array_join(array_agg(value.from_url),',') as from_url
FROM "loggings"."logging"
where event='url_event'
group by db.id,userid;
SELECT dbid,userid AS userid,count(*) as nb_interviews,
array_join(array_agg(interviewer),',') as interviewer
FROM "meetings"."meeting"
group by dbid,userid;
SELECT dbid,r1.user._id AS userid,count(_id) as nb_chat
FROM "lives"."live",
UNNEST(users) AS r1 (user)
group by dbid,r1.user._id;
但是当我开始尝试将它们放在一起时,似乎我检索到了错误的数据(我只检索了 db 上的数据)并且似乎效率不高。
select a1.db.id,a._id as userid,a.firstname,a.lastname,count(rl._id) as nb_chat
FROM
"logins"."login" a,
"loggings"."logging" b,
"meetings"."meeting" c,
"lives"."live" d,
UNNEST(dbs) AS a1 (db),
UNNEST(users) AS r1 (user)
where a._id = b.userid AND a._id = c.userid AND a._id = r1.user._id
group by 1,2,3,4
你有什么想法吗?
问候。
【问题讨论】:
标签: presto amazon-athena unnest