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

Concatenacion Rows en XML Columns XML SQL 2008

Publicado por Isaias (690 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