В настоящее время у меня есть этот код, который хранит XML в столбце типа XML, называемом data, в таблице под названием Storage.Измельчение XML из столбца таблицы в представлении в SQL Server
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, менеджер, Ground).
Я до сих пор измельчал полные документы, используя метод .nodes(), в столбцы таблицы, но при создании представления кажется более сложным (у меня есть причины для использования представлений). Проблема в том, что ранее я только что называл .nodes для переменной @input, которая была DECLARE'd как xml = 'xmlcontent', но с представлениями это невозможно, и я хочу проанализировать XML, содержащийся в столбце Столбец таблицы.
Любые идеи? Заранее спасибо.
EDIT:
Раньше, если я измельченные в таблицах это будет код я использую:
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)
EDIT2: Это выход я ожидал.
Можете ли вы опубликовать код, который вы использовали для разбивки на столбцы, а также то, как вы пытались его преобразовать. –
См. Изменение выше. – themenace92
Какой результат вы ожидаете? – Kane