• handkot's method #2 is very efficient, the other code posted isn't.
    😎

    I would do this slightly differently for the sake of simplicity and code maintenance.


    USE TEEST;
    GO
    SET NOCOUNT ON;

    DECLARE @TXML 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>';

    ;WITH BASE_DATA AS
    (
      SELECT
       IPS.DATA.value('(Intervention/text())[1]','VARCHAR(100)') AS Intervention
       ,IPS.DATA.value('(Minutes/text())[1]','INT') AS [Minutes]
      FROM @TXML.nodes('Data/Interventions_x0020_Provided/Interventions_x0020_Provided_x0020_SubTable') IPS(DATA)
      WHERE IPS.DATA.exist('(Provided[text()[1] = "true"])')=1
    )
    SELECT
      SUM(CASE WHEN BD.Intervention = 'On-site (Observations, Consultation)'     THEN BD.[Minutes] ELSE 0 END) AS [On-site (Observations, Consultation)]
     ,SUM(CASE WHEN BD.Intervention = 'Behavior Plan Meeting'          THEN BD.[Minutes] ELSE 0 END) AS [Behavior Plan Meeting]
     ,SUM(CASE WHEN BD.Intervention = 'Assessment/ Screening'          THEN BD.[Minutes] ELSE 0 END) AS [Assessment/ Screening]
     ,SUM(CASE WHEN BD.Intervention = 'Coaching'              THEN BD.[Minutes] ELSE 0 END) AS [Coaching]
     ,SUM(CASE WHEN BD.Intervention = 'Telephone Consultation or Coaching'      THEN BD.[Minutes] ELSE 0 END) AS [Telephone Consultation or Coaching]
     ,SUM(CASE WHEN BD.Intervention = 'Case Management (Referrals, care coordination)'  THEN BD.[Minutes] ELSE 0 END) AS [Case Management (Referrals, care coordination)]
     ,SUM(CASE WHEN BD.Intervention = 'Documentation (Reports, Materials)'      THEN BD.[Minutes] ELSE 0 END) AS [Documentation (Reports, Materials)]
     ,SUM(CASE WHEN BD.Intervention = 'Parent Intake/ home or phone'        THEN BD.[Minutes] ELSE 0 END) AS [Parent Intake/ home or phone]
     ,SUM(CASE WHEN BD.Intervention = 'Travel'               THEN BD.[Minutes] ELSE 0 END) AS [Travel]
     ,SUM(CASE WHEN BD.Intervention = 'Training'              THEN BD.[Minutes] ELSE 0 END) AS [Training]
    FROM BASE_DATA BD;