Как получить имя, значение и имя родительского элемента каждого атрибута в SQLXML?

Учитывая этот SQL:

DECLARE @content XML
SET @content =
'<people>
  <person id="1" bimble="1">
    <firstname bobble="gomble">John</firstname>
    <surname>Doe</surname>
  </person>
  <person id="2" bimble="11">
    <firstname bobble="zoom">Mary</firstname>
    <surname>Jane</surname>
  </person>
  <person id="4" bimble="10">
    <firstname bobble="womble">Matt</firstname>
    <surname>Spanner</surname>
  </person>
</people>'

Я хочу получить каждый атрибут, его значение и имя родительского элемента в виде таблицы:

Parent Name Attribute Name Attribute Value
----------- -------------- ---------------
person      id             1
person      bimble         1
firstname   bobble         gomble
person      id             2
person      bimble         11
firstname   bobble         zoom
person      id             4
person      bimble         10
firstname   bobble         womble

person Matt W    schedule 07.07.2010    source источник


Ответы (1)


Мой первоначальный ответ (на мой собственный вопрос):

SELECT
    elem.value('local-name(..)', 'nvarchar(10)') AS 'Parent Name',
    elem.value('local-name(.)', 'nvarchar(10)') AS 'Attribute Name',
    elem.value('.', 'nvarchar(10)') AS 'Attribute Value'
FROM
    @content.nodes('//@*') AS El(elem)
person Matt W    schedule 07.07.2010
comment
Почему бы не добавить это внизу вопроса? - person Andomar; 07.07.2010
comment
Потому что это ответ, и система помечает вас за то, что вы не выбрали ответ. - person Matt W; 12.07.2010