Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/11/2010, 14:57
Avatar de magiaurbana
magiaurbana
 
Fecha de Ingreso: noviembre-2010
Ubicación: lejos
Mensajes: 9
Antigüedad: 14 años, 1 mes
Puntos: 0
Pregunta Crear periodos de Meses,Bimestres,Trimestres, Cuatrimestres,Semestres,Anualidad.

Hola ! Que tal a todos hace poco que soy integrante de este fabuloso sitio y empiezo preguntando en vez de ayudar bueno disculpas por eso...

Bueno pero entrando en materia tengo que hacer un query que realice lo siguiente:

Tengo un tabla llamada tb_costos ejemplo es una mas grande jejeje

cve_ceco cve_cta fecha saldo
1COAD0001 100 01/01/2010 2
1COAD0001 200 01/01/2010 2
1COAD0001 400 03/01/2010 2
1COAD0001 500 05/01/2010 2
1COAD0002 500 05/01/2010 2
1COAD0002 100 06/01/2010 2
1COAD0002 100 06/04/2010 2
1COAD0002 200 06/04/2010 2
1COAD0002 800 09/04/2010 2
1COAD0002 800 09/04/2009 2
1COAD0003 400 09/04/2009 2
1COAD0003 400 09/02/2010 2
1COAD0003 400 09/12/2010 2
1COAD0003 500 09/10/2010 2
1COAD0003 500 09/10/2010 4

La idea es formar una tabla 3 columnas Año ,periodo, saldo con la información de la otra tabla anterior

año periodo saldo
2009 M04 4
2010 M01 12
2010 M02 2
2010 M04 6
2010 M10 2
2010 M10 4
2010 M12 2
2009 B02 4
2010 B01 14
2010 B02 6
2010 B05 6
2010 B06 2

Tengo el siguiente query para los meses y bimestres
---MESES
SELECT extract( YEAR from FECHA) as anio,'M'||to_char(FECHA,'MM')as periodo,SUM(saldo)
FROM TB_COSTOS GROUP BY extract( YEAR from FECHA),to_char(FECHA,'MM'), saldo UNION ALL
---BIMESTRES
SELECT EXTRACT(YEAR FROM FECHA) AS ANIO,
CASE
WHEN EXTRACT(MONTH FROM FECHA) BETWEEN 1 AND 2 THEN 'B01'
WHEN EXTRACT(MONTH FROM FECHA) BETWEEN 3 AND 4 THEN 'B02'
WHEN EXTRACT(MONTH FROM FECHA) BETWEEN 5 AND 6 THEN 'B03'
WHEN EXTRACT(MONTH FROM FECHA) BETWEEN 7 AND 8 THEN 'B04'
WHEN EXTRACT(MONTH FROM FECHA) BETWEEN 9 AND 10 THEN 'B05'
WHEN EXTRACT(MONTH FROM FECHA) BETWEEN 11 AND 12 THEN 'B06'
END AS PERIODO,
SUM
(
CASE
WHEN EXTRACT(MONTH FROM FECHA) BETWEEN 1 AND 2 THEN SALDO
WHEN EXTRACT(MONTH FROM FECHA) BETWEEN 3 AND 4 THEN SALDO
WHEN EXTRACT(MONTH FROM FECHA) BETWEEN 5 AND 6 THEN SALDO
WHEN EXTRACT(MONTH FROM FECHA) BETWEEN 7 AND 8 THEN SALDO
WHEN EXTRACT(MONTH FROM FECHA) BETWEEN 9 AND 10 THEN SALDO
WHEN EXTRACT(MONTH FROM FECHA) BETWEEN 11 AND 12 THEN SALDO ELSE 0
END) AS SALDO

FROM TB_COSTOS GROUP BY EXTRACT(YEAR FROM FECHA),EXTRACT(MONTH FROM FECHA)


Aqui ejecuto la consulta del query bimestres, pero el problema es que no acumula los bimestres

año periodo saldo
2009 B02 4
2010 B01 12
2010 B01 2
2010 B02 6
2010 B05 6
2010 B06 2

aqui deberia haber sumado los dos B01 para que el resultado fuera asi

año periodo saldo
2009 B02 4
2010 B01 14
2010 B02 6
2010 B05 6
2010 B06 2

bueno por consecuencia los demas querys trimestre,cuatrimestre,semestre se comportan igual, necesito de su apoyo para hacer esto saber si hay otra manera de hacerlo o en que esta mal mi query.

Última edición por magiaurbana; 20/11/2010 a las 17:09 Razón: ninguna hay