Я получил такое XML:Родитель XML в SQL запросе XPath
< person code="SNIPER">
<type code="SINGLE" />
<version code="1" dateFrom="2015-03-20" />
</version>
<version code="2" dateFrom="2012-06-15" />
</version>
< /person>
У меня есть SQL-запрос:
select extract(VALUE(cd_xml), 'version/@code').getstringval() code
,cast(to_timestamp_tz(replace(extract(VALUE(cd_xml), 'version/@dateFrom')
.getstringval(), 'T', ''),
'yyyy-mm-dd') as date) datefrom
from table(xmlsequence(extract(get_xml, '/*/person/version'))) cd_xml
Это возвращает меня две строки:
1 2015-03-10
2 2012-06-15
Я хотел бы для получения в результате таких строк:
single 1 2015-03-10
single 2 2012-06-15
или
sniper 1 2015-03-10
sniper 2 2012-06-15
Как это сделать ?? Я пробовал разные thigs с родительским пунктом, но я нету сделал это :(
Как вы решите, хотите ли вы «сингл» или «снайпер»? Кроме того, в вашем XML есть узлы 'version', которые являются самозакрывающимися и с явными тегами закрытия, что делает его недействительным; и ваш XPath ожидает узла * выше * 'person'. Можете ли вы отредактировать вопрос, чтобы сделать его последовательным? –
Упрощенная проблема. Я получил xml, где мало таких xmls. Дело в том, что мне нужны строки с «синглом». Но в случае, если я каким-то образом получаю строки со снайпером, я могу сделать еще один запрос на подключение «снайпера» к «одиночному», – MPAW