
Diseñar Consulta
Publicado por Antonio (3 intervenciones) el 29/10/2015 13:29:57
Buenos dias colegas! Estoy tratando de hacer una consulta convitiendo filas en columnas, pero aun me esta siendo dificil llegar a mi objetivo, les quiero mostrar un ejemplo si me podrian ayudar a ver que estoy haciendo mal o si me faltara algo.
SELECT nro_autorizacion,pago,YEAR(fecha_venc)as año,MONTH(fecha_venc)as mes,iif(MONTH(fecha_venc)=1,pago,000000000)as enero, iif(MONTH(fecha_venc)=2,pago,000000000)as febrero, iif(MONTH(fecha_venc)=3,pago,000000000)as marzo, iif(MONTH(fecha_venc)=4,pago,000000000)as abril,iif(MONTH(fecha_venc)=5,pago,000000000)as mayo,iif(MONTH(fecha_venc)=6,pago,000000000)as junio,iif(MONTH(fecha_venc)=7,pago,000000000)as julio,iif(MONTH(fecha_venc)=8,pago,000000000)as agosto, iif(MONTH(fecha_venc)=9,pago,000000000)as septiembre, iif(MONTH(fecha_venc)=10,pago,000000000)as octubre, iif(MONTH(fecha_venc)=11,pago,000000000)as noviembre, iif(MONTH(fecha_venc)=12,pago,000000000)as diciembre from lista7;
where nro_autorizacion = 941 AND pago > 0 into cursor lista
con este select obtengo esta consulta

Luego:
SELECT nro_autorizacion,SUM(enero)as ENERO,SUM(febrero) as FEBRERO,SUM(marzo) as MARZO,SUM(abril) as ABRIL,SUM(mayo) as Mayo,SUM(junio)as Junio,SUM(julio) as Julio,SUM(agosto) as Agosto,SUM(septiembre) as Septiembre,SUM(octubre) as Octubre,SUM(noviembre) as Noviembre,SUM(diciembre) as Diciembre FROM lista ;
ORDER BY nro_autorizacion WHERE nro_autorizacion = 941 ;
GROUP BY nro_autorizacion ;
INTO CURSOR lista_2
con este otro obtengo esta:

pero hasta ahi, me objetivo seria esto:

no se que estaria haciendo mal o que me faltaria para lograr esta consulta, por favor si podrian darme una mano o guiarme como hacer mejor el select, desde ya muchas gracias amigos!
SELECT nro_autorizacion,pago,YEAR(fecha_venc)as año,MONTH(fecha_venc)as mes,iif(MONTH(fecha_venc)=1,pago,000000000)as enero, iif(MONTH(fecha_venc)=2,pago,000000000)as febrero, iif(MONTH(fecha_venc)=3,pago,000000000)as marzo, iif(MONTH(fecha_venc)=4,pago,000000000)as abril,iif(MONTH(fecha_venc)=5,pago,000000000)as mayo,iif(MONTH(fecha_venc)=6,pago,000000000)as junio,iif(MONTH(fecha_venc)=7,pago,000000000)as julio,iif(MONTH(fecha_venc)=8,pago,000000000)as agosto, iif(MONTH(fecha_venc)=9,pago,000000000)as septiembre, iif(MONTH(fecha_venc)=10,pago,000000000)as octubre, iif(MONTH(fecha_venc)=11,pago,000000000)as noviembre, iif(MONTH(fecha_venc)=12,pago,000000000)as diciembre from lista7;
where nro_autorizacion = 941 AND pago > 0 into cursor lista
con este select obtengo esta consulta

Luego:
SELECT nro_autorizacion,SUM(enero)as ENERO,SUM(febrero) as FEBRERO,SUM(marzo) as MARZO,SUM(abril) as ABRIL,SUM(mayo) as Mayo,SUM(junio)as Junio,SUM(julio) as Julio,SUM(agosto) as Agosto,SUM(septiembre) as Septiembre,SUM(octubre) as Octubre,SUM(noviembre) as Noviembre,SUM(diciembre) as Diciembre FROM lista ;
ORDER BY nro_autorizacion WHERE nro_autorizacion = 941 ;
GROUP BY nro_autorizacion ;
INTO CURSOR lista_2
con este otro obtengo esta:

pero hasta ahi, me objetivo seria esto:

no se que estaria haciendo mal o que me faltaria para lograr esta consulta, por favor si podrian darme una mano o guiarme como hacer mejor el select, desde ya muchas gracias amigos!
Valora esta pregunta


0