SQL - Concatenacion Rows en XML Columns XML SQL 2008

 
Vista:
Imágen de perfil de Gadiel

Concatenacion Rows en XML Columns XML SQL 2008

Publicado por Gadiel (2 intervenciones) el 11/08/2015 20:11:08
Buenas tardes tengo la siguiente duda:

Tabla:
IdReporte IdSeccion Nombre xmlResultado
1 1 SeccionEncabezado

<SeccionEncabezado><Nombre>Caratura</Nombre><IdVersion>1</IdVersion><IdSeccion>1</IdSeccion><Encabezado>PÓLIZA DE SEGURO</Encabezado><SubEncabezado>Seguros S.A..</SubEncabezado></SeccionEncabezado>

IdReporte IdSeccion Nombre xmlResultado
1 2 SeccionSubEncabezado

<SeccionSubEncabezado><Nombre>Caratura</Nombre><IdVersion>1</IdVersion><IdSeccion>2</IdSeccion><CondicionesGenerales>Al recibir esta carátula .... Consulte alcances, exclusiones y limitaciones en la página </CondicionesGenerales><SubCondicionesGenerales>www.Seguros.com></SeccionSubEncabezado>

IdReporte IdSeccion Nombre xmlResultado
1 3 SeccionDatosFirmas

<SeccionDatosNotas><Nombre>Caratula</Nombre><IdVersion>1</IdVersion><IdSeccion>12</IdSeccion><NTituloNotas>Aqui van las Notas</NTituloNotas></SeccionDatosNotas>

Como notaran el XML es dinamico sin embargo siempre dejo Nombre, IdVersion,IdSeccion y lo que va cambiando es lo demas

Quisiera hacer el siguiente XML, pero no encuentro como concatenarlo de manera dinamica dado que las secciones aumentan o disminuyen

<CaratulaPoliza>
<NombreReporte>Reporte uno</NombreReporte>
<Descripcion>Esto es una prueaba de reporte</Descripcion>
<SeccionTitulos>
<SeccionEncabezado>
<Nombre>Caratura</Nombre>
<IdVersion>1</IdVersion>
<IdSeccion>1</IdSeccion>
<Encabezado>PÓLIZA DE SEGURO</Encabezado>
<SubEncabezado>Seguros S.A..</SubEncabezado>
</SeccionEncabezado>
<SeccionSubEncabezado>
<Nombre>Caratura</Nombre>
<IdVersion>1</IdVersion>
<IdSeccion>2</IdSeccion>
<CondicionesGenerales>Al recibir esta carátula .... Consulte alcances, exclusiones y limitaciones en la página </CondicionesGenerales>
<SubCondicionesGenerales>www.Seguros.com&gt;</SubCondicionesGenerales>
</SeccionSubEncabezado>
<SeccionDatosNotas>
<Nombre>Caratula</Nombre>
<IdVersion>1</IdVersion>
<IdSeccion>12</IdSeccion>
<NTituloNotas>Aqui van las Notas</NTituloNotas>
</SeccionDatosNotas>
</SeccionTitulos>
</CaratulaPoliza>

Tengo un listado de tablas por si es necesario mas información la anexo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Concatenacion Rows en XML Columns XML SQL 2008

Publicado por Isaias (1921 intervenciones) el 12/08/2015 19:01:15
Creo, espero no equivocarme, esto te daría mayores resultados en un foro específicamente de XML.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Concatenacion Rows en XML Columns XML SQL 2008

Publicado por Gadiel (1 intervención) el 12/08/2015 19:54:31
Solucionado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SELECT
 r.IdReporte
,r.Nombre
,r.Descripcion
,(
	SELECT
	(
	SELECT rsv.xmlResultado
	FROM #tbReporteSecciones rsv
	WHERE rsv.IdSeccion = rs.IdSeccion
	AND rsv.IdReporte = rs.IdReporte
	--FOR XML PATH(''), TYPE
	)
	FROM Impresion.ReporteSecciones AS rs WITH (NOLOCK)
	WHERE rs.IdReporte= r.IdReporte
	FOR XML PATH(''), TYPE
) FROM Impresion.Reporte AS r WITH (NOLOCK)
WHERE r.IdReporte = 1
FOR XML PATH('ReporteCaratula'), root('ReporteCaratulas')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar