Principales respuestas
Como agregar columnas dinamicas a una tabla.?

Pregunta
-
Muy buenas tardes señores
Tengo una tabla temporal el cual almacena columnas variables porque estoy utilizando un pivot ejemplo a veces almacena 4,5 0 8 columnas. ahora lo que quiero es insertar o añedir esas columnas de la tabla temporal a otra tabla que tengo. si alguien sabe ..por favor?
Respuestas
-
Es muy difícil dar una respuesta exacta con la información que has proporcionado. Para darte una buena solución sería de gran ayuda que nos pusieras el script de creación de las tablas temporales, de la tabla final y del resultado esperado. También estaría bien que pusieras el código que llevas hecho hasta ahora y que nos expliques con detalle y con ejemplos el tema de las columnas dinámicas.
- Propuesto como respuesta Miguel.Vazquez.MSDNModerator martes, 12 de agosto de 2014 22:16
- Marcado como respuesta Miguel.Vazquez.MSDNModerator miércoles, 13 de agosto de 2014 15:20
Todas las respuestas
-
-
si claro, tengo una temporal donde almaceno columnas variables esto lo hice con un pivot, ejemplo en la tabla temporal puedo tener las siguientes colomnas (1,2,3) y a veces (1,2,3,4,5)
esas columnas las tengo que agregar a otra tabla original que tengo. con sus datos.
ejemplo si en la tabla original tengo la columnas A,B,C ahora me debe quedar asi (A, B, C, 1,2, 3) o A, B, C,1,2,3,4)
no lo puedo hacer con el innerjoin pues en la tabla temporal almaceno datos variables.
-
Para conseguir el resultado habría que hacerlo en dos pasos: primero un "alter table" para modificar la tabla original añadiéndole las nuevas columnas, y después un update...from... para llenarlas con los datos de la tabla temporal. Y lógicamente habrá que saber cuál es la columa clave en la tabla original y en la temporal, para "emparejar" las filas y decidir cuál de las filas de la tabla temporal tiene que ir a cada fila de la tabla original.
En resumidas, cuentas, va a quedar muy complicado, y seguramente requerirá un bucle con un cursor sobre las tablas de metadatos generando SQL dinámico para el "alter table".
Yo procuraría hacerlo al revés: al crear la tabla temporal, crearla con las columnas de la tabla original más las columnas nuevas que salgan del Pivot. Y a partir de ahí hacer las consultas sobre la tabla temporal. Si es necesario persistir los datos, se puede borrar la tabla original y recrearla desde la temporal con un "select...into".
-
-
Es muy difícil dar una respuesta exacta con la información que has proporcionado. Para darte una buena solución sería de gran ayuda que nos pusieras el script de creación de las tablas temporales, de la tabla final y del resultado esperado. También estaría bien que pusieras el código que llevas hecho hasta ahora y que nos expliques con detalle y con ejemplos el tema de las columnas dinámicas.
- Propuesto como respuesta Miguel.Vazquez.MSDNModerator martes, 12 de agosto de 2014 22:16
- Marcado como respuesta Miguel.Vazquez.MSDNModerator miércoles, 13 de agosto de 2014 15:20