一份报告中有 2 个时间段 SQL Reportbuilder 2012 3.0

2 time periods in one report SQL Reportbuilder 2012 3.0

我想在 Microsoft SQL Reportbuilder 3.0 2012 中查看图中显示的两个时期的报告。我进行了一个查询,该查询将显示红色期间,但我似乎无法在一份报告中将黑色期间与红色期间结合起来。它们需要是彼此相邻的 2 个不同的列。 此报告的目的是显示某个项目从开始到今天的所有预订,并具体查看某个月份的预订。 甚至有办法做到这一点还是不可能?

以为我会分享答案。这是我用来解决问题的代码。

 SELECT 
    tblReg.PurchaseOrderId,
    tblReg.Reference AS PO, 
    SUM(HoursBefore) AS HoursBefore, 
    SUM(HoursBefore)/8 AS DaysBefore, 
    SUM(HoursBetween) AS HoursBetween, 
    SUM(HoursBetween)/8 AS DaysBetween, 
    SUM(HoursAfter) AS HoursAfter, 
    SUM(HoursAfter)/8 AS DaysAfter, 
    MIN(BudgetDays) AS BudgetDays
FROM
(
    SELECT 
        po.PurchaseOrderId,
        po.Reference,
        BudgetDays,
        CASE 
            WHEN reg.RegistrationDate < @StartDate THEN DurationHours
            ELSE 0
        END AS HoursBefore,
        CASE 
            WHEN reg.RegistrationDate >= @StartDate AND reg.RegistrationDate <= @EndDate THEN DurationHours
            ELSE 0
        END AS HoursBetween,
        CASE 
            WHEN reg.RegistrationDate > @EndDate THEN DurationHours
            ELSE 0
        END AS HoursAfter
    FROM Registration reg
    INNER JOIN PurchaseOrder po ON reg.PurchaseOrderId = po.PurchaseOrderId
    WHERE po.statuscid = 1 AND reg.IsBillable = 1 AND SetNonBillable = 0 --AND reg.RegistrationDate >= @StartDate AND reg.RegistrationDate <= @EndDate
)tblReg
GROUP BY tblReg.PurchaseOrderId, tblReg.Reference
ORDER BY tblReg.Reference;