1
我有一个XML formatted like this:查询XML在SQL Server
<Maximum.Edm.CodeIncludedInCalculation >
<CalculationsByProvince>
<Maximum.Edm.IncludedInByProvince Province="QC">
<RevenueCodeCalculations CalculationListType="RevenueCode">
<Maximum.Edm.CalculationIncluded Code="@Vacation" IsSelected="True" />
<Maximum.Edm.CalculationIncluded Code="@RRQ" IsSelected="True" />
<Maximum.Edm.CalculationIncluded Code="@EmploymentInsurance" IsSelected="True" />
[...]
</RevenueCodeCalculations>
<TaxableBenefitCalculations CalculationListType="TaxableBenefits">
<Maximum.Edm.CalculationIncluded Code="1" IsSelected="False" />
<Maximum.Edm.CalculationIncluded Code="AV. VIE FE" IsSelected="True" />
</TaxableBenefitCalculations>
<DeductionCodeCalculations CalculationListType="DeductionCode">
<Maximum.Edm.CalculationIncluded Code="123" IsSelected="False" />
<Maximum.Edm.CalculationIncluded Code="456" IsSelected="True" />
<Maximum.Edm.CalculationIncluded Code="AC" IsSelected="False" />
[...]
</DeductionCodeCalculations>
</Maximum.Edm.IncludedInByProvince>
<Maximum.Edm.IncludedInByProvince Province="ON">
[...]
</Maximum.Edm.IncludedInByProvince>
</CalculationsByProvince>
</Maximum.Edm.CodeIncludedInCalculation>
我想创建一个简单的查询将返回各CalculationIncluded
与code
和IsSelected
值。我的最终目标是创建一个存储过程,该存储过程将收到code
,province
和CalculationListType
并返回IsSelected
值。
我试图用从here,here和here的例子,但我不断收到null
或空值。
查询我试着用的例子之一进行:
select * from
(select
pref.value('(text())[1]', 'varchar(32)') as RoleName
from
Payroll.RevenueCode CROSS APPLY
IncludeInCalculation.nodes('/Maximum.Edm.CodeIncludedInCalculation/CalculationsByProvince/Maximum.Edm.IncludedInByProvince/RevenueCodeCalculations') AS IncludeInCalculation(pref)
) as Result
该作品顶尖 !!非常感谢 –
男孩我误解了问题+1 –