Oracle - DEVOLVER MESES

   
Vista:

DEVOLVER MESES

Publicado por Miguel (3 intervenciones) el 21/10/2015 20:18:45
Hola!
Deseo mostrar los meses del año en una columna, quiero que se muestren tengan o no tengan datos, por ejemplo

ENERO x
FEBRERO
MARZO
ABRIL x
MAYO
JUNIO
JULIO
AGOSTO
SETIEMBRE
OCTUBRE x
NOVIEMBRE
DICIEMBRE
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

DEVOLVER MESES

Publicado por Luis (232 intervenciones) el 21/10/2015 20:34:45
Hola, tengan o no tenga datos que o quién?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

DEVOLVER MESES

Publicado por Miguel (3 intervenciones) el 21/10/2015 21:34:02
me refiero a que necesito mostrar un reporte, necesito que los meses aparezcan como los he señalado, el tema es el siguiente, que solo me muestran los meses que tienen datos, pero yo necesito que se muestren todos los meses, tengan o no tengan datos los demas campos.
pondre un ejemplo

MES || VALOR 1 || VALOR 2 || VALOR 3
ENERO x x x
FEBRERO
MARZO
ABRIL x
MAYO
JUNIO x x
JULIO
AGOSTO
SETIEMBRE
OCTUBRE
NOVIEMBRE
DICIEMBRE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

DEVOLVER MESES

Publicado por Rafael (177 intervenciones) el 22/10/2015 09:25:12
Veamos, la pregunta que te hacen es mas que valida...

Quieres los meses. tengan o no tengan datos...
Eso nos quedo claro a todos...

Pero que tenga o no tenga datos QUIEN?? De donde??? Vaya que TABLAS y COLUMNAS intervienen...

Seguramente ya tengas una consulta, que es lo que necesitamos, algo como por ejemplo:
1
2
3
4
5
6
SELECT MES
     , SUM (DATO1) AS VALOR 1
     , SUM (DATO2) AS VALOR 2
     , SUM (DATO3) AS VALOR 3
FROM   TABLA
GROUP  BY MES

Y si a eso le pones la salida como la has puesto (mejor si la pones como codigo por que nos permite verla mejor) podemos empezar a ayudarte y decirte como pero si no tenemos ni esto... pues nos pides casi imposibles y en lugar de ayudarte nos complicas la vida y pasamos de tu pregunta, vaya que no apetece en lo mas mínimo ponerse a hacer todo solo por ayudar, si fuese algo mas puntual a cambio de nada, pues es mas facil, no trabajamos tanto y ayudamos, de lo contrario no recibes ayuda...

Con lo poco que sabemos y partiendo de la consulta anterior yo haria lo siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT QA.MES
     , NVL(QB.VALOR1, 0)
     , NVL(QB.VALOR2, 0)
     , NVL(QB.VALOR3, 0)
FROM   (SELECT TO_CHAR(TO_DATE('01/' || ROWNUM || '/2015','DD/MM/YYYY'), 'MONTH') MES
        FROM ALL_OBJECTS
        WHERE  ROWNUM < 13) QA
       LEFT JOIN (SELECT MES
                       , SUM (DATO1) AS VALOR 1
                       , SUM (DATO2) AS VALOR 2
                       , SUM (DATO3) AS VALOR 3
                  FROM   TABLA
                  GROUP  BY MES) QB
            ON QB.MES = QA.MES

Espero te sirve esta consulta ...

Saludos


Pd. Si esto te ha servido un +1 no viene nada mal.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar