PostgreSQL - Query que me ordene el resultado por meses

 
Vista:
sin imagen de perfil
Val: 3
Ha disminuido su posición en 3 puestos en PostgreSQL (en relación al último mes)
Gráfica de PostgreSQL

Query que me ordene el resultado por meses

Publicado por Ghensys (3 intervenciones) el 08/12/2016 20:30:38
Buenas tardes, tengo una duda, quiero hacer un query al que yo le pase un rango de fechas y el resultado lo pueda ordenar por mes, tengo una tabla principal donde registro cada "suministro" que me trae un "proveedor".

Ej. Tabla principal

|.... proveedor ......| .....suministro...... | ......fecha..... |
-------------------------------------------
|....proveedor1.....|..material1.............| 2016-01-01 |
|....proveedor2.....|..material2.............| 2016-01-01 |
|....proveedor1.....|..material3.............| 2016-02-01 |
|....proveedor3.....|..material4.............| 2016-03-01 |
|....proveedor4.....|..material5.............| 2016-03-01 |
|....proveedor4.....|..material6.............| 2016-03-01 |
|....proveedor2.....|..material7.............| 2016-01-01 |
|....proveedor1.....|..material8.............| 2016-05-01 |

El query quiero que me indique cuantas veces el proveedor suministro materiales en cada mes, algo asi.

|...Mes....|..Proveedor1..|..Proveedor2..|..Proveedor3..|..Proveedor4..|
|ENERO|............1...........|............2...........|...........0............|...........0............|
|FEBRERO|......1............|............0...........|...........0............|...........0............|
|MARZO|..........0.............|............0...........|...........1............|...........1............|
|ABRIL|.............0.............|............0...........|...........0............|...........0............|
|MAYO|.............1.............|............0...........|...........0............|...........0............|

Y asi sucesivamente, me comentaron que hay funciones, pero en los manuales de postgres me complico tratando de enterderlo

Seria algo asi como un Count por cada mes, cuantas veces ese proveedor suministro materiales al mes durante un año
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
sin imagen de perfil
Val: 2
Ha disminuido su posición en 2 puestos en PostgreSQL (en relación al último mes)
Gráfica de PostgreSQL

Query que me ordene el resultado por meses

Publicado por José Luis (1 intervención) el 10/12/2016 02:22:07
Hola,

Yo no uso PostgreSQL,

Creo que algo así mas o menos se podría.

Por ejemplo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
SELECT M.MES,  A.CONTEO, B.CONTEO, C.CONTEO, D.CONTEO
FROM
(SELECT DISTINCT MONTH(FECHA) AS MES
FROM PRINCIPAL) M,
(SELECT MONTH(FECHA) AS MES,  PROVEEDOR, COUNT(PROVEEDOR) AS CONTEO
FROM PRINCIPAL
WHERE PROVEEDOR = 'PROVEEDOR1'
GROUP BY MONTH(FECHA), PROVEEDOR) A,
(SELECT MONTH(FECHA) AS MES,  PROVEEDOR, COUNT(PROVEEDOR) AS CONTEO
FROM PRINCIPAL
WHERE PROVEEDOR = 'PROVEEDOR2'
GROUP BY MONTH(FECHA), PROVEEDOR) B,
(SELECT MONTH(FECHA) AS MES,  PROVEEDOR, COUNT(PROVEEDOR) AS CONTEO
FROM PRINCIPAL
WHERE PROVEEDOR = 'PROVEEDOR3'
GROUP BY MONTH(FECHA), PROVEEDOR) C,
(SELECT MONTH(FECHA) AS MES,  PROVEEDOR, COUNT(PROVEEDOR) AS CONTEO
FROM PRINCIPAL
WHERE PROVEEDOR = 'PROVEEDOR4'
GROUP BY MONTH(FECHA), PROVEEDOR) D
WHERE M.MES = A.MES(+) AND M.MES=B.MES(+) AND M.MES=C.MES(+) AND M.MES=D.MES(+)

Es una idea, realmente no he realizado este tipo de consultas ni he utilizado PostgreSQL

Saludos
José Luis
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