maybe this will help
declare @xml as xml = '
<Data>
<Interventions_x0020_Provided>
<Interventions_x0020_Provided_x0020_SubTable>
<Intervention>On-site (Observations, Consultation)</Intervention>
<Provided>true</Provided>
<Minutes>35</Minutes>
<Describe>Completed observation. Discussed with Janet (teacher) how Aisling''s behavior has been.</Describe>
</Interventions_x0020_Provided_x0020_SubTable>
<Interventions_x0020_Provided_x0020_SubTable>
<Intervention>Behavior Plan Meeting</Intervention>
</Interventions_x0020_Provided_x0020_SubTable>
<Interventions_x0020_Provided_x0020_SubTable>
<Intervention>Assessment/ Screening</Intervention>
</Interventions_x0020_Provided_x0020_SubTable>
<Interventions_x0020_Provided_x0020_SubTable>
<Intervention>Coaching</Intervention>
</Interventions_x0020_Provided_x0020_SubTable>
<Interventions_x0020_Provided_x0020_SubTable>
<Intervention>Telephone Consultation or Coaching</Intervention>
</Interventions_x0020_Provided_x0020_SubTable>
<Interventions_x0020_Provided_x0020_SubTable>
<Intervention>Case Management (Referrals, care coordination)</Intervention>
</Interventions_x0020_Provided_x0020_SubTable>
<Interventions_x0020_Provided_x0020_SubTable>
<Intervention>Documentation (Reports, Materials)</Intervention>
</Interventions_x0020_Provided_x0020_SubTable>
<Interventions_x0020_Provided_x0020_SubTable>
<Intervention>Parent Intake/ home or phone</Intervention>
</Interventions_x0020_Provided_x0020_SubTable>
<Interventions_x0020_Provided_x0020_SubTable>
<Intervention>Travel</Intervention>
<Provided>true</Provided>
<Minutes>45</Minutes>
</Interventions_x0020_Provided_x0020_SubTable>
<Interventions_x0020_Provided_x0020_SubTable>
<Intervention>Training</Intervention>
</Interventions_x0020_Provided_x0020_SubTable>
</Interventions_x0020_Provided>
</Data>'
--just get the Intervention
Select
x.col.value('(Intervention/text())[1]', 'varchar(100)')
, x.col.value('(Minutes/text())[1]', 'integer')
, x.col.value('(Intervention/text())[1]', 'varchar(100)')
From
@xml.nodes('(/Data/Interventions_x0020_Provided/Interventions_x0020_Provided_x0020_SubTable)') x(col)
--Where
-- x.col.exist('(Provided[text()[1] = "true"])')=1--method 1
Select
Sum(Case When x.col.value('(Intervention/text())[1]', 'varchar(100)') = 'On-site (Observations, Consultation)' Then x.col.value('(Minutes/text())[1]', 'integer') End)
, Sum(Case When x.col.value('(Intervention/text())[1]', 'varchar(100)') = 'Behavior Plan Meeting' Then x.col.value('(Minutes/text())[1]', 'integer') End)
, Sum(Case When x.col.value('(Intervention/text())[1]', 'varchar(100)') = 'Assessment/ Screening' Then x.col.value('(Minutes/text())[1]', 'integer') End)
, Sum(Case When x.col.value('(Intervention/text())[1]', 'varchar(100)') = 'Coaching' Then x.col.value('(Minutes/text())[1]', 'integer') End)
, Sum(Case When x.col.value('(Intervention/text())[1]', 'varchar(100)') = 'Telephone Consultation or Coaching' Then x.col.value('(Minutes/text())[1]', 'integer') End)
, Sum(Case When x.col.value('(Intervention/text())[1]', 'varchar(100)') = 'Case Management (Referrals, care coordination)' Then x.col.value('(Minutes/text())[1]', 'integer') End)
, Sum(Case When x.col.value('(Intervention/text())[1]', 'varchar(100)') = 'Documentation (Reports, Materials)' Then x.col.value('(Minutes/text())[1]', 'integer') End)
, Sum(Case When x.col.value('(Intervention/text())[1]', 'varchar(100)') = 'Parent Intake/ home or phone' Then x.col.value('(Minutes/text())[1]', 'integer') End)
, Sum(Case When x.col.value('(Intervention/text())[1]', 'varchar(100)') = 'Travel' Then x.col.value('(Minutes/text())[1]', 'integer') End)
, Sum(Case When x.col.value('(Intervention/text())[1]', 'varchar(100)') = 'Training' Then x.col.value('(Minutes/text())[1]', 'integer') End)
From
@xml.nodes('(/Data/Interventions_x0020_Provided/Interventions_x0020_Provided_x0020_SubTable)') x(col)
Where
x.col.exist('(Provided[text()[1] = "true"])')=1
--method 2
Select
[On-site (Observations, Consultation)]
, [Behavior Plan Meeting]
, [Assessment/ Screening]
, [Coaching]
, [Telephone Consultation or Coaching]
, [Case Management (Referrals, care coordination)]
, [Documentation (Reports, Materials)]
, [Parent Intake/ home or phone]
, [Travel]
,[Training]
From (
Select
[Intervention] = x.col.value('(Intervention/text())[1]', 'varchar(100)')
, [Minutes] = x.col.value('(Minutes/text())[1]', 'integer')
From
@xml.nodes('(/Data/Interventions_x0020_Provided/Interventions_x0020_Provided_x0020_SubTable)') x(col)
Where
x.col.exist('(Provided[text()[1] = "true"])')=1) Y
Pivot (Sum([Minutes]) For [Intervention] In (
[On-site (Observations, Consultation)]
, [Behavior Plan Meeting]
, [Assessment/ Screening]
, [Coaching]
, [Telephone Consultation or Coaching]
, [Case Management (Referrals, care coordination)]
, [Documentation (Reports, Materials)]
, [Parent Intake/ home or phone]
, [Travel]
,[Training]
)
) as pvt
I Have Nine Lives You Have One Only
THINK!