1

从单个临时表中使用以下 SQL 时。

Select  DataType as '@Datatype',
 (Select
 'Order' as [Property/@name],
 Order1 as Property,
 null,
  'ExtCode' as [Property/@name],
 ExtCode as Property,
 null
 from #TempLine
 for xml path('Properties'), type
 )
 from #TempLine
 Group by DataType
 for xml path('Object'), root('Objects')

我得到以下 XML

 <Objects>
      <Object Datatype="ItemInfo">
        <Properties>
          <Property name="Order">150825CREC004</Property>
          <Property name="ExtCode">150825CREC004#ISSMS</Property>
        </Properties>
        <Properties>
          <Property name="Order">150825CREC004</Property>
          <Property name="ExtCode">150825CREC004#IMF</Property>
        </Properties>
        <Properties>
          <Property name="Order">150825CREC004</Property>
          <Property name="ExtCode">150825CREC004#ILZF</Property>
        </Properties>
        <Properties>
          <Property name="Order">150825CREC004</Property>
          <Property name="ExtCode">150825CREC004#L5898.5W</Property>
        </Properties>
      </Object>
    </Objects>

我需要返回以下带有对象周围属性的 XML。

 <Objects>
      <Object Datatype="ItemInfo">
        <Properties>
          <Property name="Order">150825CREC004</Property>
          <Property name="ExtCode">150825CREC004#ISSMS</Property>
        </Properties>
      </Object>
      <Object Datatype="ItemInfo">
        <Properties>
          <Property name="Order">150825CREC004</Property>
          <Property name="ExtCode">150825CREC004#IMF</Property>
        </Properties>
      </Object>
      <Object Datatype="ItemInfo">
        <Properties>
          <Property name="Order">150825CREC004</Property>
          <Property name="ExtCode">150825CREC004#ILZF</Property>
        </Properties>
      </Object>
      <Object Datatype="ItemInfo">
        <Properties>
          <Property name="Order">150825CREC004</Property>
          <Property name="ExtCode">150825CREC004#L5898.5W</Property>
        </Properties>
      </Object>
    </Objects>

我以为我可以使用嵌入式选择来做到这一点,但它没有成功。我需要能够让对象围绕每个属性而不是整个块。

4

0 回答 0