2013-06-28 53 views
0

是否有可能鏈接下面的子查詢(見下面)。前三個子查詢工作正常,但我很難看到如何做其餘的任何指導將是偉大的歡呼聲。如何將sql子查詢鏈接在一起?

Ps。對於長碼

SELECT c.[Status], 
     c.CompanyId, 
     c.Name, 


     (SELECT count(DISTINCT usr.UserID) 
     FROM [ondemand.10cms.com].Security.[user] usr 
       INNER JOIN [ondemand.10cms.com].Company.Company 
       ON usr.CompanyID = Company.CompanyID 
     WHERE usr.CompanyID = c.CompanyID) AS TotalUsers, 

     (SELECT sum (CASE WHEN usr.Status = 2 THEN 1 ELSE 0 END) 
     FROM [ondemand.10cms.com].Security.[user] usr 
     INNER JOIN [ondemand.10cms.com].Company.Company 
     ON usr.CompanyID = Company.CompanyID 
     WHERE usr.CompanyID = c.CompanyID) AS ActiveUsers, 

     (SELECT sum (CASE WHEN usr.Status = 3 THEN 1 ELSE 0 END) 
     FROM [ondemand.10cms.com].Security.[User] usr 
     INNER JOIN [ondemand.10cms.com].Company.Company 
ON usr.CompanyID = Company.CompanyID WHERE usr.CompanyID = c.CompanyID) AS SuspendedUsers, 

    (Select COUNT (distinct usrs.id) 
    From [ondemand.10cms.com].Security.UserSession usrs 
inner join [ondemand.10cms.com].Security.[user] usr on usrs.UserID=usr.UserID 
    ) as TotalLogin, 


    (Select 
    COUNT(MerchandisingModule.Name) 
    From [ondemand.10cms.com].Project.Template 
    inner join [ondemand.10cms.com].Project.MerchandisingModule on Template.TemplateID= MerchandisingModule.TemplateId 
    )as CurrentModules, 

    (Select 
    count(MerchandisingModule.CreatedDate) 
    from [ondemand.10cms.com].Project.MerchandisingModule 
    inner join [ondemand.10cms.com].Project.Template on Template.TemplateID= MerchandisingModule.TemplateId 
    )as ModulesCreated, 

(Select 
    count(mm.UpdatedDate) 
    from [ondemand.10cms.com].Project.MerchandisingModule mm 
    inner join [ondemand.10cms.com].Project.Template on Template.TemplateID= mm.TemplateId 
)as ModulesUpdated, 


    (Select 
    COUNT(MA.MerchandisingAreaID) 
    from [ondemand.10cms.com].Project.MerchandisingArea MA 
    inner join [ondemand.10cms.com].Project.Project on Project.ProjectID= MA.ProjectID 
    ) as Currentareas, 


    (Select 
    COUNT (MA.name) 
    from [ondemand.10cms.com].Project.MerchandisingArea MA 
    inner join [ondemand.10cms.com].Project.Project on Project.ProjectID= MA.ProjectID 
    ) as AreasCreated, 



    (select 
    COUNT (MerchandisingArea.UpdatedDate) 
    from [ondemand.10cms.com].Project.MerchandisingArea 
    inner join [ondemand.10cms.com].Project.Project on Project.ProjectID= MerchandisingArea.ProjectID 
    ) as AreasUpdated, 



    (Select 
    SUM (case when MA.PublishStatus = 1 then 1 else 0 end) 
    from [ondemand.10cms.com].Project.MerchandisingArea MA 
    inner join [ondemand.10cms.com].Project.PublishingStatus on PublishingStatus.PublishStatusId = MA.PublishStatus 
    ) as SuccessPublished, 



    (Select 
    SUM (case when MA.PublishStatus = 3 then 1 else 0 end) 
    from [ondemand.10cms.com].Project.MerchandisingArea MA 
    inner join [ondemand.10cms.com].Project.PublishingStatus on PublishingStatus.PublishStatusId= MA.PublishStatus 
    ) as FailedPublished 


    from [ondemand.10cms.com].Company.Company c 
+0

你什麼錯誤? –

+0

@meewoK沒有這樣的錯誤,但是,在暫停用戶之後,每行的每一列都會帶回相同的數據。 –

+0

它們都是沒有where子句的計數,這可能是爲什麼它們是相似的? – JsonStatham

回答

0

這個道歉是通過添加另一個內部固定連接到每個子查詢,也另where子句