Я пытаюсь прочитать xml и сохранить его на сервере SQL.Если условие на выбор узла XML в SQL
DECLARE @xml XML
SET @xml =
'<report>
<personal>
<search>
<subject>
<name>SearchName</name>
</subject>
</search>
</personal>
<personal>
<search>
<subject>
<name>SearchName</name>
</subject>
</search>
<result>
<history>
<name>HistoryName</name>
</history>
</result>
</personal>
</report>
'
Что я пытаюсь здесь - выбрать имя, но условием является если <personal>
содержит <result>
затем выберите name
под history/name
если <personal>
не содержит <result>
выбрать name
под subject/name
В настоящее время я выбираю имена по личным/предмету, как показано ниже:
Select
A.Search.value('(subject/name)[1]','varchar(max)')
FROM @xml.nodes('/report/personal/search') as A(Search)
Ожидая результат:
SearchName
HistoryName
Как добавить условие между ними?
Есть ли способ, мы можем добавить такое условие здесь
SELECT @xml.exist('//report//personal//search//subject//name')
Спасибо. Это работает для меня. – user1893874
@ user1893874 С удовольствием помогите :) – jpw