Xquery في SQL: اختيار مجموعة فرعية
-
27-09-2019 - |
سؤال
بالنظر إلى متغير XML التالي:
declare @x xml
select @x = '<Details>
<Description>
<Attributes>
<Name>A</Name>
<Values><RecordId>1</RecordId><RecordId>2</RecordId></Values>
</Attributes>
<Attributes>
<Name>B</Name>
<Values><RecordId>3</RecordId><RecordId>4</RecordId></Values>
</Attributes>
</Description>
</Details>'
أحاول الحصول على جميع قيم الأسماء مع جميع سجلاتهم. أود أن أفعل ذلك في بيان واحد. لدي ما يلي الآن.
create table #xml (element varchar(60))
insert into #xml
select RoleDetails.item.value('(Name)[1]', 'varchar(60)')
from
@x.nodes('/Details/Description/Attributes') AS RoleDetails(item)
سيكون التنسيق الذي أبحث عنه:
A 1
2
B 3
4
المحلول
أصبح من الأسهل حفظ المجموعة الفرعية بتنسيق XML والسماح لعملية التلاعب بـ XML.
لا تنتمي إلى StackOverflow