我有三个查询都形成同一张表。我想将它们组合成一张桌子。
查询如下:
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 # # #
每个查询都可以按需工作,但是当我尝试将它们组合时,出现错误或值不正确。我尝试了几次连接,但没有成功。我尝试将子查询作为无法使用的列。谁能指出我正确的方向?
答案 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)