Actualmente tengo este código que almacena XML en una columna de tipo XML llamada datos, en una tabla llamada Almacenamiento.Trituración XML de la columna de la tabla en una vista en 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>');
Me gustaría crear una vista llamada de fútbol Ver la que tritura los datos y lo muestra en la forma: FootballView (teamname, Gerente de Planta).
He triturado documentos completos utilizando el método .nodes() en columnas de tabla antes, pero parece ser más difícil al crear una vista (tengo mis razones para usar vistas). El problema es que anteriormente simplemente llamaba a .nodes en una variable @input que se DECLARA como xml = 'xmlcontent', pero con vistas esto no se puede hacer, y quiero analizar el XML contenido en la columna de la tabla de almacenamiento.
¿Alguna idea? Gracias por adelantado.
EDIT:
Anteriormente, si hubiera destrozado en las tablas de esto sería el código que utilizo:
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: Esta es la salida que espero.
Puede publicar el código que utilizó para fragmentar en columnas, y también cómo ha intentado convertirlo. –
Ver la edición de arriba. – themenace92
¿Qué salida esperas? – Kane