将子查询加入另一个redshift

时间:2020-07-26 19:22:06

标签: amazon-redshift

我有三个查询都形成同一张表。我想将它们组合成一张桌子。

查询如下:

Select events1.committee_name, count(events1.eventid) AS "Events" 
from periscope_events_summary events1
group by events1.committee_name;

Select events2.committee_name, count(events2.eventsignupid) "Completed" 
from .periscope_events_summary events2 
where status = 'Completed'
group by committee_name;

Select events3.committee_name, count(events3.eventsignupid) "completed events" 
from periscope_events_summary events3 
where status = 'Completed' and events3.event_type = '1:1 Meeting'
group by events3.committee_name;

它们都来自Reshift数据库中的同一表。

我的理想输出是:

Commiteename Events 1:1 Completed
---------------------------------
name            #   #    #
Name 2          #   #    #

每个查询都可以按需工作,但是当我尝试将它们组合时,出现错误或值不正确。我尝试了几次连接,但没有成功。我尝试将子查询作为无法使用的列。谁能指出我正确的方向?

1 个答案:

答案 0 :(得分:0)

如何?您遇到哪些错误?我该怎么处理数据不正确?

WITH events AS (
    SELECT committee_name,
           count(eventid) AS "Events"
    FROM periscope_events_summary
    GROUP BY 1
),completed AS (
         SELECT committee_name,
                count(eventsignupid) AS "Completed"
         FROM periscope_events_summary
         WHERE status = 'Completed'
         GROUP BY 1
),
completed_events AS (
    SELECT committee_name,
        count(eventsignupid) AS "completed events"
    FROM periscope_events_summary
    WHERE status = 'Completed'
    AND event_type = '1:1 Meeting'
    GROUP BY committee_name
)
SELECT 
    events.committee_name, 
    events."Events",
    completed."Completed",
    completed_events."completed events"
FROM events
LEFT JOIN completed USING (committee_name)
LEFT JOIN completed_events USING (committee_name)
相关问题