我怎样才能获得SQL服务器2K8 R2,而不诉诸兼容性模式返回此xml

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

  •  27-09-2019
  •  | 
  •  

我们正在提升我们的SQL服务器2K8 R2和的FOR XML AUTO查询已经改变了输出的过程。

这三个表的查询输出列

在结果集返回三行每一列是相同条从第三表的最后两列。用于显示如下的结果

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

它不显示

    <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>

我一直在试图使用对于XML路径,但它仍返回元素1的3个独立的实例,而不是对数据进行分组。

有帮助吗?

解决方案

如果您在使用FOR XML PATH希望有一个子树,你得写每个子树子查询。所以你的情况,你有父select语句部件1,和其中一列是一个子查询得到任何需要在element2的(这反过来也可以是子查询)。如果您使用子查询,你想从这些返回的XML,使用

  

有关XML路径( 'elementN'),TYPE

或它会逸出的XML代码。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top