代码
DECLARE @Sql NVARCHAR(MAX)
DECLARE @ExecSql NVARCHAR(MAX)
--获得需要扩展的列明
SELECT  @Sql = ISNULL(@Sql + '],['''+ Name
FROM    dbo.CodeProjectKind
WHERE   YearNo = 2010
GROUP BY Name,Code
ORDER BY Code


SET @Sql = '[' + @Sql + ']'

SET @ExecSql='
SELECT 
  CompanyId, 
  
'+@Sql+'
  FROM (SELECT  
          A.CompanyId,
                    ProjectKind = C.Name ,
                    PlanTotalAmount =ISNULL(A.PlanTotalAmount,0)
        FROM    dbo.ProjectPlan A
        LEFT JOIN dbo.Company B 
          ON A.CompanyId = B.Id
        LEFT JOIN dbo.CodeProjectKind C 
          ON A.ProjectKindId = C.Id
        WHERE A.YearNo = 2010
        AND A.PhaseId=
''BE55C1869CE94909B0A4A896C5CE2496''
        AND A.Version = 
''20100831163638140'') A 
        PIVOT (SUM(PlanTotalAmount)
        --FOR 需要扩展的字段  IN(列名)
        FOR ProjectKind IN (
' + @Sql + ')) B 
        ORDER BY CompanyId
'

EXEC (@ExecSql)

 

相关文章:

  • 2021-07-03
  • 2022-12-23
  • 2021-11-16
  • 2021-11-22
  • 2022-12-23
  • 2021-07-31
  • 2021-04-19
猜你喜欢
  • 2021-11-29
  • 2021-05-10
  • 2021-05-01
  • 2022-12-23
  • 2022-12-23
  • 2021-11-20
  • 2021-05-03
相关资源
相似解决方案