在子查询和基本查询sql server中分组

Nod*_*e17 8 sql-server

我想知道以下是否可行.

我有一个表,我想要检索3列数据:

日,工作小时数,工作小时数和条件

我的疑问是

SELECT     Day, SUM(Regular + Extra + Overtime) AS [Potential Hours],
                      (SELECT     SUM(Extra + Regular + Overtime) AS Expr1
                        FROM          dbo.TICPlus_Effort_Billable_Only
                        WHERE      (Manager NOT LIKE '%manager1%')) AS [Billed Hours]
FROM         Billable AS Billable1
GROUP BY Day
Run Code Online (Sandbox Code Playgroud)

使用此查询,我得到每行的子查询中所有数据的总和,但我希望包含要按日分组的约束的子查询.是否有可能在子查询中有一个组来执行此操作,以便每天获得每日条件的总和?

希望有人能指出我正确的方向

Adr*_*der 18

不,你将无法做到这一点,因为SELECT列表中的SUB QUERY将返回更多的1值.

您需要在FROM子句中的SUB查询中执行此操作

就像是

 SELECT Day, 
        SUM(Regular + Extra + Overtime) AS [Potential Hours],
        SubSum AS [Billed Hours]
FROM    Billable AS Billable1 LEFT JOIN
        (
            SELECT  Day,
                    SUM(Extra + Regular + Overtime) AS SubSum
            FROM    dbo.TICPlus_Effort_Billable_Only
            WHERE   (Manager NOT LIKE '%manager1%')
            GROUP BY Day
        ) s ON  Billable1.Day = s.Day
GROUP BY    Day
Run Code Online (Sandbox Code Playgroud)