Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Ordenar datos de tabla a tabla cond itinta estructura

Estas en el tema de Ordenar datos de tabla a tabla cond itinta estructura en el foro de SQL Server en Foros del Web. Tengo un problema para que me esta matando... lo planteare lo mas claramente que se pueda. Tengo una tabla con los campos periodo,monto y local ...
  #1 (permalink)  
Antiguo 03/11/2007, 20:03
Avatar de vrenzo  
Fecha de Ingreso: febrero-2007
Mensajes: 289
Antigüedad: 17 años, 2 meses
Puntos: 15
Ordenar datos de tabla a tabla cond itinta estructura

Tengo un problema para que me esta matando...

lo planteare lo mas claramente que se pueda.

Tengo una tabla con los campos periodo,monto y local

la idea es que tengo los cobros registrados asi

Cita:

periodo - monto- local- id

01/2007 - 10 - 01 - 002
02/2007 - 10 - 29 - 002
03/2007 - 20 - 70 - 002
.
.
.
12/2007- 26 - 74 - 002
12/2007 -75 - 74 - 002
01/2006 - 16 - 01 - 002
02/2006 - 18 - 29 - 002
03/2006 - 20 - 70 - 002
.
.
.
12/2006- 36 - 74 - 002
12/2006- 85 - 74 - 002
mas o menos asi...

De que forma podria hacer para meter esos datos en una tabla mas enfoque excel (bueno la denomino asi... en mi vocabulario jiji)

y los quiero pasar a esta forma...
Cita:
año - 01 - 02 - 03 .... 11 - 12
2007- 10 - 10 - 20 ... 26 - 75
2006 - 16 - 18 - 20 ... 36 - 85
No se que tan claro se vea..

Estoy ideando algo asi....
Cita:
insert
tablaex
select '1992',
(select rtrim(convert(char(10),monto))+' '+aportoen from temp123456 where substring(num_documento,5,11)='01/1992') as m1,
(select rtrim(convert(char(10),monto))+' '+aportoen from temp123456 where substring(num_documento,5,11)='02/1992') as m2,
(select rtrim(convert(char(10),monto))+' '+aportoen from temp123456 where substring(num_documento,5,11)='03/1992') as m3,
(select rtrim(convert(char(10),monto))+' '+aportoen from temp123456 where substring(num_documento,5,11)='04/1992') as m4,
(select rtrim(convert(char(10),monto))+' '+aportoen from temp123456 where substring(num_documento,5,11)='05/1992') as m5,
(select rtrim(convert(char(10),monto))+' '+aportoen from temp123456 where substring(num_documento,5,11)='06/1992') as m6,
(select rtrim(convert(char(10),monto))+' '+aportoen from temp123456 where substring(num_documento,5,11)='07/1992') as m7,
(select rtrim(convert(char(10),monto))+' '+aportoen from temp123456 where substring(num_documento,5,11)='08/1992') as m8,
(select rtrim(convert(char(10),monto))+' '+aportoen from temp123456 where substring(num_documento,5,11)='09/1992') as m9,
(select rtrim(convert(char(10),monto))+' '+aportoen from temp123456 where substring(num_documento,5,11)='10/1992') as m10,
(select rtrim(convert(char(10),monto))+' '+aportoen from temp123456 where substring(num_documento,5,11)='11/1992') as m11,
(select rtrim(convert(char(10),monto))+' '+aportoen from temp123456 where substring(num_documento,5,11)='12/1992') as m12
from temp123456 where substring(num_documento,5,7)='01/1992'
Pero bueno no estoy avanzando nada... creo...

Help me please..
  #2 (permalink)  
Antiguo 04/11/2007, 16:31
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Re: Ordenar datos de tabla a tabla cond itinta estructura

La estructura que quieres solo te servirá para reportes, para la operación habitual te recomiendo dejar como lo tienes ahora.

Lo que quieres lo logras más o menos así:

SELECT Year(periodo) AS anio,
CASE WHEN Month(periodo) = 1 THEN Sum(monto) ELSE 0 END AS 'Ene',
CASE WHEN Month(periodo) = 2 THEN Sum(monto) ELSE 0 END AS 'Feb',
...
CASE WHEN Month(periodo) = 12 THEN Sum(monto) ELSE 0 END AS 'Dic',
FROM tabla
GROUP BY Year(periodo)
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:17.