none
Separar por bloques una tabla y pasarla a otra? RRS feed

  • Pregunta

  • Saludos ! 

    Quisiera saber como puedo hacer para pasar los datos de una tabla por bloques en mi caso de 12 en 12 y pasar uno de los campos a otra tabla , me sugirieron usar while dentro de un cursor pero no entiendo bien la sintaxis.

    La tabla este tiene este formato similar , CAMPO A , CAMPO B Y CAMPO C  , son constantes identifican características de una sola persona , cada tres registro se repite 


    Necesito pasar a una nueva tabla que tenga este formato , se muestra , en donde el datos que me interesó pasar de la primera tabla era descripA,descrip, Descrip C , que se repiden cada tres registros

    Como tengo la tabla 

    alguna recomendación sobre como podria hacer ? 

    jueves, 24 de diciembre de 2015 1:50

Respuestas

  • Si la estructura es esa, los campos de la columna Nº son consecutivos y los tres registros a agrupar siempre están ordenados de la misma forma, podrías hacer algo así:

    CREATE TABLE TablaDestino (ID int NOT NULL, [CAMPO A] varchar(20), [CAMPO B] varchar(20), [CAMPO C] varchar(20));
    GO
    
    SELECT (TO3.NUMERO) / 3 AS ID, TO1.yyyy AS [CAMPO A], TO2.yyyy AS [CAMPO B], TO3.yyyy AS [CAMPO C]
    FROM TablaOrigen TO1
    INNER JOIN TablaOrigen TO2 ON TO2.NUMERO - 1 = TO1.NUMERO
    INNER JOIN TablaOrigen TO3 ON TO3.NUMERO - 2 = TO1.NUMERO
    WHERE TO1.NUMERO % 3 = 1


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...


    jueves, 24 de diciembre de 2015 9:34