使用外部查询的结果作为子查询的一部分

时间:2017-10-24 18:16:25

标签: sql postgresql

我在postgres中有一个看起来像这样的查询

SELECT events.startDate, managers.id, manager.name, manager.goneDate
FROM mentions, managers, events, categories
WHERE 
managers.id = mentions.manager_id AND
events.id = mentions.event_id AND
categories.id = events.category_id 

我还有一个查询,我需要使用每行的events.startDate的结果来加入它,该查询看起来像这样......

SELECT round((cast count(manager.id)
FROM mentions, managers, events
WHERE 
managers.id = mentions.manager_id AND
events.id = mentions.event_id AND
events.eventdate >= (to_date('2012-08-18', 'YYYY-MM-DD') - INTERVAL '90 days') AND 
events.eventdate <= '2012-08-18'
AND mentions.manager_id = 1
group by managers.id) as decimal)
/
(SELECT count(managers.id)
 FROM mentions, managers, events
 WHERE 
managers.id = mentions.manager_id AND
events.id = mentions.event_id AND
events.eventdate >= (to_date('2012-08-18', 'YYYY-MM-DD') - INTERVAL '90 days') AND 
events.eventdate <= '2012-08-18'
AND mentions.manager_id = 1
group by managers.id) 
* 100), 2) as "result"

基本上我需要将结果加到我的第一个查询的“结果”而不是第二个查询的硬编码日期(2012-08-18),我需要为每一行使用events.startDate第一个查询。

0 个答案:

没有答案