IDs of badge
elements inside training
only
select t.c.value('.', 'int') ID
from Qualifications q
cross apply q.Criteria.nodes('//training[badge]/badge[@ID]/@ID') t(c)
IDs of badge
elements anywhere (not only inside training
)
select t.c.value('.', 'int') ID
from Qualifications q
cross apply q.Criteria.nodes('//badge[@ID]/@ID') t(c)
If Criteria
column is nvarchar
type, you can cast to xml
as:
select t.c.value('.', 'int') ID
from Qualifications q
cross apply (select convert(xml, q.Criteria) xmlCriteria) a
cross apply a.xmlCriteria.nodes('//training[badge]/badge[@ID]/@ID') t(c)