我的SQL代码是这样:
CREATE VIEW [dbo].[UDV_Project_Summary_With_Beneficiary]
SELECT
FiscalYear.FiscalYearName AS [Fiscal Year],
dbo.Region.RegionName AS Region,
COUNT(DISTINCT(Project.ProjectID)) AS [No of Projects],
SUM(ISNULL(Project.Amount, 0) + ISNULL(Project.ContAmount, 0)) AS Amount,
[dbo].[UDF_Get_BName](1, [dbo].[ProjectBeneficiaryDetail].BeneficiaryTypeID) AS Beneficiaries,
SUM(ISNULL(ActualNoOfMale, 0)) AS Men,
SUM(ISNULL(ActualNoOfFemale, 0)) AS Women,
SUM(ISNULL(ActualNoOfMale, 0) + ISNULL(ActualNoOfFemale, 0)) AS Total
FROM
dbo.Project
INNER JOIN
dbo.Commune ON dbo.Project.CommuneIdProject = dbo.Commune.CommuneId
INNER JOIN
dbo.Arrondissement ON dbo.Arrondissement.[ArrondissementId] = dbo.Commune.[ArrondissementId]
INNER JOIN
dbo.Cercle ON dbo.Cercle.CercleId = dbo.Arrondissement.CercleId
INNER JOIN
dbo.Region ON dbo.Region.RegionId = dbo.Cercle.RegionId
INNER JOIN
ImplementingPartner ON dbo.ImplementingPartner.IPID = dbo.Project.IPID
INNER JOIN
FiscalYear ON dbo.Project.FiscalYearID = dbo.FiscalYear.FiscalYearID
INNER JOIN
ProjectCategory ON dbo.Project.ProjectCategoryID = dbo.ProjectCategory.ProjectCategoryID
INNER JOIN
ProjectStatus ON dbo.Project.ProjectStatusID = dbo.ProjectStatus.ProjectStatusID
INNER JOIN
[dbo].[ImplementingPartnerType] ON [dbo].[ImplementingPartnerType].[ImplementingPartnerTypeID] = ImplementingPartner.[ImplementingPartnerTypeID]
LEFT JOIN
[dbo].[ProjectBeneficiaryDetail] ON dbo.Project.ProjectID = dbo.[ProjectBeneficiaryDetail].ProjectID
GROUP BY
FiscalYear.FiscalYearName, Region.RegionName, [dbo].[ProjectBeneficiaryDetail].BeneficiaryTypeID
结果显示在此屏幕快照中:
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9ZSXViSC5wbmcifQ==” alt =“在此处输入图像描述”>
但是我想使用SQL代码在下面的图像数据中显示如下。请帮我怎么做
我正在尝试通过使用PIVOT来做到这一点,但没有成功。我尝试这样
select [Intervention Areas], [No of Projects], Amount, Beneficiaries, Men, Women, Total
into #Beneficiary_ProjectType
from [dbo].[UDV_Project_Summary_With_Beneficiary_ProjectType]
select *
from
(
select [Intervention Areas], [No of Projects] ,Amount--, Men, Women, Total
from #Beneficiary_ProjectType
) src
pivot
(
sum([Amount])
for Beneficiaries in ([DB], [IDB])
) piv;
但是说出列名未定义。请帮助我,如何使用透视图以正确的方式获得结果,如第二幅图所示。
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9vanpxUi5wbmcifQ==” alt =“在此处输入图像描述”>