У меня есть следующая запись XML.
<row>
<c1>BUSINESS.HOME</c1>
<c1 m="2">PAYMENTS.HOME</c1>
<c1 m="3">DEPARTMENT.PAGE</c1>
<c1 m="4">SECTION.HOME</c1>
<c1 m="5">ABOUT.HOME</c1>
<c2>Our Business</c2>
<c2 m="1" s="2">Businesul nostru</c2>
<c2 m="2">Payment Services</c2>
<c2 m="2" s="2">Plati</c2>
<c2 m="3">Department Operations</c2>
<c2 m="3" s="2">Departamente</c2>
<c2 m="4">Section Operations</c2>
<c2 m="4" s="2">Sectiuni</c2>
<c2 m="5">ABOUT</c2>
<c2 m="5" s="2">Despre</c2>
<c6>2</c6>
<c10>GB0010001</c10>
<c11>1</c11>
</row>
C2 - метки для C1 на двух языках, различающихся по атрибуту S, поэтому счет S2 всегда является двойным C1.
Я бы хотел выбрать запрос со следующим выводом.
NAME LABEL
--------------------------------------
BUSINESS.HOME Our Business
PAYMENTS.HOME Payment Services
DEPARTMENT.PAGE Department Operations
SECTION.HOME Section Operations
ABOUT.HOME ABOUT
Каждое значение из C1 и соответствующее первое значение из C2.
Я пробовал применять кросс-аппликации так:
select t.p.query('.').value('data(./c2)[1]', 'varchar(max)') c2
from table_name
cross apply XMLRECORD.nodes('(/row/c2)') t(p)
where ID = 'HOME.PAGE'
Но не знаете, как действовать дальше, чтобы исключить иностранный язык и включить тег C1.