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