¿Cómo puedo obtener servidor SQL 2K8 R2 para volver este XML sin tener que recurrir a modo de compatibilidad

StackOverflow https://stackoverflow.com/questions/3439007

  •  27-09-2019
  •  | 
  •  

Pregunta

Estamos en el proceso de actualización de nuestro servidor SQL a 2K8 R2 y la salida de una consulta FOR XML AUTO ha cambiado.

La consulta salidas columnas de tres tablas

El conjunto de resultados devuelve tres filas que cada columna es bar idénticas las dos últimas columnas de la tercera tabla. los resultados se utilizan para mostrar la siguiente

<element1 myval="Test">
    <element2 myotherval="atest">
         <element3 a="a"/>
         <element3 a="b"/>
         <element3 a="c" />
    </element2>
</element1>

No espectáculos

    <element1 myval="Test">
        <element2 myotherval="atest">
             <element3 a="a"/>
         </element2>
    </element1>
    <element1 myval="Test">
        <element2 myotherval="atest">
             <element3 a="B"/>
         </element2>
    </element1>
    <element1 myval="Test">
        <element2 myotherval="atest">
             <element3 a="C"/>
         </element2>
    </element1>

he estado tratando de utilizar para XML Path pero sigue devolviendo 3 instancias separadas de element1 en lugar de agrupar los datos.

¿Fue útil?

Solución

Si quieres un subárbol usando XML para el camino, tendrá que escribir subconsultas para cada sub-árbol. Así que en su caso de tener una instrucción de selección de los padres para element1, y una de las columnas es una subconsulta que se lo tiene que estar en elemento2 (que a su vez también puede ser subconsultas). Si utiliza subconsultas y desea XML regresar de ellos, el uso

  

para la ruta XML ( 'elementN'), TIPO

o que va a escapar el código XML.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top