ALTER TABLE WBS_ControlItemAndCycle ADD WorkPackageIds NVARCHAR(2000) NULL GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'WBS所有父级节点字符串ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WBS_ControlItemAndCycle', @level2type=N'COLUMN',@level2name=N'WorkPackageIds' GO ALTER VIEW [dbo].[View_WBS_WorkPackageDetail] AS /********控制项明细********/ SELECT detail.WorkPackageDetailId, detail.WorkPackageId, detail.Months, c.InitWorkPackageCode, c.WorkPackageCode, c.PackageContent, c.ProjectId, c.Unit, --单位 c.PlanProjectQuantity, --概算工作量 c.RealProjectQuantity, --实际工程量 c.PlanCost, --节点计划总费用 CONVERT(FLOAT,(select sum(ISNULL(PlanNum,0)) from WBS_WorkPackageDetail where WorkPackageId=detail.WorkPackageId and Months<=detail.Months)) as TotalPlanNum, --累计计划完成量 CONVERT(FLOAT,(select sum(ISNULL(ThisNum,0)) from WBS_WorkPackageDetail where WorkPackageId=detail.WorkPackageId and Months<=detail.Months)) as TotalThisNum, --累计完成量 CONVERT(FLOAT,(select sum(ISNULL(PlanValue,0)) from WBS_WorkPackageDetail where WorkPackageId=detail.WorkPackageId and Months<=detail.Months)) as TotalPlanValue, --累计概算费用 CONVERT(FLOAT,(select sum(ISNULL(ThisValue,0)) from WBS_WorkPackageDetail where WorkPackageId=detail.WorkPackageId and Months<=detail.Months)) as TotalThisValue, --累计实际费用 CONVERT(FLOAT,ISNULL(detail.PlanNum,0)) as PlanNum, --本月计划完成量 CONVERT(FLOAT,ISNULL(detail.ThisNum,0)) as ThisNum, --本月完成量 CONVERT(FLOAT,ISNULL(detail.PlanValue,0)) as PlanValue, --本月概算费用 CONVERT(FLOAT,ISNULL(detail.ThisValue,0)) as ThisValue --本月实际费用 FROM dbo.WBS_WorkPackageDetail AS detail LEFT JOIN WBS_WorkPackage AS c ON c.WorkPackageId=detail.WorkPackageId GO ALTER VIEW [dbo].[View_WBS_WorkPackageParentDetail] AS /********控制项父级明细********/ SELECT detail.WorkPackageParentDetailId, detail.ParentId, detail.ProjectId, detail.Months, c.InitWorkPackageCode, c.PlanCost, --节点计划总费用 CONVERT(FLOAT,ISNULL(detail.PlanNum,0)) as PlanNum, --本月计划完成量 CONVERT(FLOAT,ISNULL(detail.ThisNum,0)) as ThisNum, --本月实际完成量 CONVERT(FLOAT,ISNULL(detail.PlanValue,0)) as PlanValue, --本月概算费用 CONVERT(FLOAT,ISNULL(detail.ThisValue,0)) as ThisValue, --本月实际费用 CONVERT(FLOAT,(select sum(ISNULL(PlanNum,0)) from WBS_WorkPackageParentDetail where ParentId=detail.ParentId and Months<=detail.Months)) as TotalPlanNum, --累计计划完成量 CONVERT(FLOAT,(select sum(ISNULL(ThisNum,0)) from WBS_WorkPackageParentDetail where ParentId=detail.ParentId and Months<=detail.Months)) as TotalThisNum, --累计完成量 CONVERT(FLOAT,(select sum(ISNULL(PlanValue,0)) from WBS_WorkPackageParentDetail where ParentId=detail.ParentId and Months<=detail.Months)) as TotalPlanValue, --累计概算费用 CONVERT(FLOAT,(select sum(ISNULL(ThisValue,0)) from WBS_WorkPackageParentDetail where ParentId=detail.ParentId and Months<=detail.Months)) as TotalThisValue --累计实际费用 FROM dbo.WBS_WorkPackageParentDetail AS detail LEFT JOIN WBS_WorkPackage AS c ON c.WorkPackageId=detail.ParentId GO