Измельчение XML из столбца таблицы в представление в SQL Server

В настоящее время у меня есть этот код, который хранит XML в столбце XML-типа, называемом данными, в таблице под названием Storage.

    CREATE TABLE Storage
(
    ID INT IDENTITY(1,1) PRIMARY KEY,
    data XML NOT NULL
)

GO

INSERT INTO Storage(data) 
VALUES('<footballteams>   
    <team manager="Benitez">     
        <name>Liverpool</name>     
        <ground>Anfield</ground>   
    </team>   
    <team manager="Mourinho">     
        <name>Chelsea</name>     
        <ground>Stamford Bridge</ground>   
    </team>   
    <team manager="Wenger">     
         <name>Arsenal</name>     
         <ground>Highbury</ground>   
    </team> 
</footballteams>'); 

Я хотел бы создать представление Football View, которое измельчает данные и отображает их в форме: FootballView(TeamName,Manager,Ground).

Я и раньше разбивал полные документы с помощью метода .nodes() на столбцы таблицы, но при создании представления это кажется более сложным (у меня есть причины использовать представления). Проблема в том, что ранее я просто вызывал .nodes для переменной @input, которая была DECLARE'd как xml = 'xmlcontent', но с представлениями это невозможно сделать, и я хочу проанализировать XML, содержащийся в столбце таблицы Storage.

Есть идеи? Заранее спасибо.

РЕДАКТИРОВАТЬ:

Раньше, если бы я разбивал данные на таблицы, я использовал бы следующий код:

SELECT     
        TeamName = Foot.value('(name)[1]', 'varchar(100)'),     
        Manager = Foot.value('(@manager)', 'varchar(100)'),     
        Ground = Foot.value('(ground)[1]', 'varchar(100)')   
FROM     
        @input.nodes('/footballteams/team') AS Tbl(Foot)

РЕДАКТИРОВАТЬ2: Это ожидаемый результат.

Expected Output

8
задан 28 June 2012 в 13:37
поделиться