none
SQL a Xml No respeta el ordenamiento Hide Value RRS feed

  • Pregunta

  • Buenas,

    Creo una tabla temporal, conforme al nivel (tag) voy creando inserts para llenar la temp y al final realizo un ordenamiento.

    El problema es que tengo un tag que no respeta el parent y se coloca abajo:

    Actual:

    <SubDescription><![CDATA[Informacion.]]></SubDescription>
      <Utility Type="Electric">
        <UtilityName>Datos</UtilityName>
        <UtilityPhone>
          <Util_AreaCode>888</Util_AreaCode>
        </UtilityPhone>
      </Utility>
      <Utility Type="Fuel">
       <UtilityName>Datos</UtilityName>
       <UtilityPhone>
         <Util_AreaCode>253</Util_AreaCode>
       </UtilityPhone>

    Lo correcto es que SubDescripcion se encuentre abajo de los Utility.

    Codigo:

    declare @temp1 table
    (
    [Tag] INT not NULL,
    [parent] INT NULL,							
    [Builders!1!DateGenerated] VARCHAR(120) NULL, 
    [Corporacion!20!CorporacionID] INT NULL,
    [Constructor!30!ConstructorID] INT NULL,
    [Comunidad!40!ComunidadID] INT NULL,
    [Utilidad!240!UtilidadID!hide]  VARCHAR(10) NULL,
    [Utilidad!240!Type] varchar(3000) null,
    [Utilidad!240!UtilidadNombre!element] VARCHAR(50) NULL,
    [UtilidadNombreTelefono!250!!hide] int null,
    [UtilidadNombreTelefono!250!Util_AreaCode!element] varchar(1000) NULL,
    [SubDescription!260!!cdata] VARCHAR(2000) NULL
    );
    
    --Utilidad
    INSERT INTO @temp1 ([Tag],[parent],[Corporacion!20!CorporacionID],[Constructor!30!ConstructorID],[Comunidad!40!ComunidadID],[Utilidad!240!UtilidadID!hide],[Utilidad!240!Type],[Utilidad!240!UtilidadNombre!element]
    )
    SELECT
    	240 AS [Tag],
    	40 AS [parent],									
    	tmp.identificador1 AS [Corporacion!20!CorporacionID],
    	tmp.constructor_id AS [Constructor!30!ConstructorID],
    	tmp.comunidad_id AS [Comunidad!40!ComunidadID],
    	cu.community_Utilidad_id AS [Utilidad!240!UtilidadID!hide],
    	ValorType AS [Utilidad!240!Type]
    	,ValorNombre AS [Utilidad!240!UtilidadNombre]
    FROM #bcs tmp
    
    --UtilidadNombreTelefono
    INSERT INTO @temp1 ([Tag],[parent],[Corporacion!20!CorporacionID],[Constructor!30!ConstructorID],[Comunidad!40!ComunidadID],[Utilidad!240!UtilidadID!hide],
    	[UtilidadNombreTelefono!250!Util_AreaCode!element])
    SELECT
    	250 AS [Tag],
    	240 AS [parent],									
    	tmp.identificador1 AS [Corporacion!20!CorporacionID],
    	tmp.constructor_id AS [Constructor!30!ConstructorID],
    	tmp.comunidad_id AS [Comunidad!40!ComunidadID],
    	cu.community_Utilidad_id AS [Utilidad!240!UtilidadID!hide],
    	ValorArea AS [UtilidadNombreTelefono!250!Util_AreaCode!element]
    FROM #bcs tmp
    
    --SubDescription
    INSERT INTO @temp1 ([Tag],[parent],[Corporacion!20!CorporacionID],[Constructor!30!ConstructorID],[Comunidad!40!ComunidadID],[Utilidad!240!UtilidadID!hide],
    [SubDescription!260!!cdata])
    SELECT
        260 AS [Tag],
    	40 AS [parent],									
    	tmp.identificador1 AS [Corporacion!20!CorporacionID],
    	tmp.constructor_id AS [Constructor!30!ConstructorID],
    	tmp.comunidad_id AS [Comunidad!40!ComunidadID],
    	2147483647 AS [Utilidad!240!UtilidadID!hide],
    	ValorSubdescription AS [SubDescription!260!!cdata]
    FROM #bcs tmp
    
    SELECT * FROM @temp1
    ORDER BY  
    	[Corporacion!20!CorporacionID],
    	[Constructor!30!ConstructorID],
    	[Comunidad!40!ComunidadID],
        [Utilidad!240!UtilidadID!hide],
    	[Tag]
      FOR XML EXPLICIT;

    Saludos


    • Editado gwebb06 viernes, 28 de septiembre de 2018 16:15
    jueves, 27 de septiembre de 2018 18:01