小编blu*_*iro的帖子

TSQL报告 - 按周计算数据?

我正在编写一份报告,需要显示一周的收据,按地点分组,每周的每一天都有一个单独的列.这将通过SSRS和SQL Server 2008 R2提供.最终结果应如下所示:(但对于一周中的所有7天)

Location    Monday    Tuesday
Building3   $100      $75
Building4   $25       $35
Building5   $105      $21
Run Code Online (Sandbox Code Playgroud)

我编写了以下T-SQL SELECT语句,以从报告表变量(@reporting)中获取此数据.然后打算按位置对输出进行分组,以获得上面显示的布局.

原始数据列出了单行中的收货日期,总计和位置.我想转动数据,以便星期几显示在最前面.必须有一个比你在下面看到的更好的方法.有帮助吗?

    SELECT
        LocationKey.Location
        ,Sunday.Cost as Sunday
        ,Monday.Cost as Monday
    FROM 

        (
            SELECT DISTINCT Location 
            FROM @reporting
            WHERE Location NOT IN ('Building01', 'Building02', '')
        ) AS LocationKey

    LEFT JOIN  

(SELECT  

sunday.Location
,sunday.Cost

FROM @reporting as sunday (nolock) 

WHERE DATEPART(weekday,sunday.ReceiptDate)= 1

        ) AS Sunday
        ON Sunday.Location = LocationKey.Location

LEFT JOIN  

(SELECT  
Monday.Location,
Monday.Cost

FROM @reporting as Monday (nolock) 

WHERE DATEPART(weekday,Monday.ReceiptDate)= 2

        ) AS Monday …
Run Code Online (Sandbox Code Playgroud)

sql t-sql ssrs-2008

4
推荐指数
1
解决办法
4389
查看次数

标签 统计

sql ×1

ssrs-2008 ×1

t-sql ×1