【问题标题】:SQL Replace NULL value from a Dynamic Pivot TableSQL 替换动态数据透视表中的 NULL 值
【发布时间】:2022-08-16 12:34:50
【问题描述】:
declare @pivotColumn as varchar(max) 
declare @pivotTable varchar (max)


--get distinct value for column names join from 3 different tables
select @pivotColumn = string_agg (QUOTENAME(Name),\',\')
from (
        select distinct Name
        from dbo.DTR
        inner join dbo.Dim_Partner on dbo.DTR.Partner_ID = dbo.Dim_Partner.Partner_ID 
        where Project_ID > 0
      )n

set @pivotTable = \'
    with ActualDTRProject
            as
            (
                select Project_Name as ProjectName
                    , Name as PartnerName
                    , Hours_Spent as HoursSpent
                from dbo.DTR
                    inner join dbo.Project on dbo.DTR.Project_ID = dbo.Project.ID
                    inner join dbo.Dim_Partner on dbo.DTR.Partner_ID = dbo.Dim_Partner.Partner_ID 
                    where Project_ID > 0 
            )
            select upper(ProjectName) Project_Name,\'+ @pivotColumn +\'
            from ActualDTRProject
            pivot (sum(HoursSpent) for PartnerName in (\'+ @pivotColumn +\')) as d
            order by Project_Name
    \'

exec(@pivotTable)
----

Result Table 结果表: |项目名称 |Gab |Jocelle |保罗 |Rllamas| |-------|-----------|---------------|- ----------|--------| |项目A | 8.00 |5.00 |11.00 |5.00 | |项目 B |10.00 |8.00 |11.00 |7.00 | |项目 C |NULL |NULL |2.00 |6.00 | |项目 D |NULL |NULL |NULL |2.00 |

    标签: sql dynamic null pivot-table


    【解决方案1】:

    吨,我正在研究同样的问题。我们得到解决方案了吗?

    【讨论】:

      猜你喜欢
      • 2017-11-24
      • 1970-01-01
      • 1970-01-01
      • 2016-05-09
      • 2010-12-28
      • 1970-01-01
      • 1970-01-01
      • 2013-02-09
      • 1970-01-01
      相关资源
      最近更新 更多