transferecia

07/11/2005 - 15:57 por Erick Sanchez | Informe spam
Como puedo traspasar de una tabla a otra en una misma base de datos valores
o nombres que en la tabla 1 son nombres de columnas y que en la tabla 2 las
requiero como datos.
por ejemplo en la tabla 1 tengo

T1
codigo nombre fecha enero febrero marzo abril ...
2054 fulano 20041130 45.23 52.31 0.00 21.52



y quiero que salga asi en la tabla 2

T2

codigo nombre fecha mes valor
2054 fulano 20041130 enero 45.23
20041130 febrero 52.31
20041130 abril 21.52
2055 mengano20041130 enero 41.21
20041130 agosto 123.52

que aparezca el nombre de la persona y el codigo solo cuando cambia de
codigo y que los valores 0.00 sean omitidos para que solo salgan los valores
que posean valores.

Me supongo que para hacer esto hay que usar cursor por que con un dts no
creo que funcione

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
07/11/2005 - 16:16 | Informe spam
Erick Sanchez,

Puedes crear multiples sentencias "select" y unirlas con el operador "union
all", o puedes usar un "cross join" con una tabla derivada de doce filas, una
por mes, y usar la expresion "case".

select codigo, nombre, fecha, 'enero' as mes, enero as valor
from t1

union all

select codigo, nombre, fecha, 'febrero' as mes, febrero as valor
from t1
...


select
t1.codigo, t1.nombre, t1.fecha,
t2.mes,
case t2.mes
when 'enero then t1.enero
when 'febrero' then t1.febrero
...
end as valor
from t1 cross join (select 'enero' as mes union all select 'febrero' ...) as
t2
go


AMB

"Erick Sanchez" wrote:

Como puedo traspasar de una tabla a otra en una misma base de datos valores
o nombres que en la tabla 1 son nombres de columnas y que en la tabla 2 las
requiero como datos.
por ejemplo en la tabla 1 tengo

T1
codigo nombre fecha enero febrero marzo abril ...
2054 fulano 20041130 45.23 52.31 0.00 21.52



y quiero que salga asi en la tabla 2

T2

codigo nombre fecha mes valor
2054 fulano 20041130 enero 45.23
20041130 febrero 52.31
20041130 abril 21.52
2055 mengano20041130 enero 41.21
20041130 agosto 123.52

que aparezca el nombre de la persona y el codigo solo cuando cambia de
codigo y que los valores 0.00 sean omitidos para que solo salgan los valores
que posean valores.

Me supongo que para hacer esto hay que usar cursor por que con un dts no
creo que funcione




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida