0

是否可以链接以下子查询(见下文。)前三个子查询工作正常,但我正在努力了解如何做其余的任何指导都会非常高兴。

附言。为长代码道歉

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
4

1 回答 1

0

这是通过向每个子查询添加另一个内部连接以及另一个 where 子句来解决的

于 2013-07-01T11:42:51.993 回答