2014-10-17 111 views
0

我正在运行查询,该查询搜索特定列的实例在查询中不为空,然后按月分类。这工作正常,但我也需要添加一个子查询,该子查询连接另一个表并查找其中另一列的实例。这里的查询:子查询中的日期部分

SELECT DATEPART(MONTH, CreatedDate) AS TheMonth, COUNT(CreatedDate) AS NASCL, COUNT(SQL_Date) AS NASQL, COUNT(Demo_Completed_Date) AS NADEMO, COUNT(Converted_Date) AS NAOPP, (SELECT COUNT(lead_load.Converted_OpportunityId) FROM lead_load INNER JOIN Opportunity_load ON lead_load.Converted_OpportunityId = Opportunity_load.Id WHERE Opportunity_load.Stage_Name = 'Closed Won') AS NACONV FROM lead_load WHERE Region='North America' AND LeadSource NOT IN ('Advertising', 'Trade Show', 'Social', 'Partner', 'Organic Search', 'Paid Search', 'Direct', 'Referral') AND CreatedDate > '2014-07-16' GROUP BY DATEPART(MONTH, CreatedDate);

的问题是,如果我试图把DATEPART到子查询,它的错误,因为我不分组或由其汇总,结果只是总计Opportuunity_load.Id所有实例所有时间都在Opportunity_load.Stage_Name = 'Closed Won'

我该如何进行下一步并按月对其进行解决,因为我拥有其他人?

在此先感谢。

回答

0

试试这个,请将您的子查询到另一个嵌套查询:

SELECT * 
    ,(SELECT 
     COUNT(lead_load.Converted_OpportunityId) 
     FROM lead_load 
     INNER JOIN Opportunity_load 
     ON lead_load.Converted_OpportunityId = Opportunity_load.Id 
     WHERE Opportunity_load.Stage_Name = 'Closed Won') AS NACONV 
FROM (
    SELECT 
    DATEPART(MONTH, CreatedDate) AS TheMonth, 
    COUNT(CreatedDate) AS NASCL, 
    COUNT(SQL_Date) AS NASQL, 
    COUNT(Demo_Completed_Date) AS NADEMO, 
    COUNT(Converted_Date) AS NAOPP, 
    FROM lead_load 
    WHERE Region='North America' 
    AND LeadSource NOT IN ('Advertising', 'Trade Show', 'Social', 'Partner', 'Organic Search', 'Paid Search', 'Direct', 'Referral') 
    AND CreatedDate > '2014-07-16' 
    GROUP BY DATEPART(MONTH, CreatedDate) 
) tmp;