2014-10-17 38 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;