
ayuda con una consulta sql 2008
Publicado por marco (4 intervenciones) el 22/09/2018 07:15:15
buenas noches , necesito su ayuda :
le dejo el link de scrip de la base de datos
https://www.dropbox.com/s/auliosb8ald2cq3/dataayuda.sql?dl=0
1.- En mostrar todas las estaciones (cdlocal) ,los top 3 mejores consumos (campo total) ,pero que se vean todas las estaciones mostrando el top 3 de los mejores consumos
tengo este avance
con esto me sale solo el top 3 de una estacion lo que quiero es que me muestre el top 3 de todas las estaciones como en la imagen ... se podra hacer ?? ... intente de muchas maneras pero no logro hacerlo por favor su ayuda.
2.-en la imagen se muestra los consumos en galones de enero a diciembre por cliente y al final los totaliza lo que necesito es ahora un promedio que es el consumo total por mes por cliente entre los dias del mes por ejemplo si mi data es del 21/06/2018 al 21/09/2018 con datos ficticios
total de galones /cantidad de dias
cliente 1 :
junio = 850/10=85.000
julio = 1500/31=48.387
agosto = 2500/31=80.645
septiembre = 1200/21 = 57.143
por favor necesito su ayuda me estoy reventando el cerebro tratando de hacerlo lo intente de muchas formas sin embargo no tengo suerte.
le dejo el link de scrip de la base de datos
https://www.dropbox.com/s/auliosb8ald2cq3/dataayuda.sql?dl=0
1.- En mostrar todas las estaciones (cdlocal) ,los top 3 mejores consumos (campo total) ,pero que se vean todas las estaciones mostrando el top 3 de los mejores consumos
tengo este avance
1
2
3
4
5
6
7
8
select top 3 o.* from ( select EESS,RUC,CLIENTE,AÑO,COALESCE([1], 0) ENE, COALESCE([2], 0) FEB,
COALESCE([3], 0) MAR,COALESCE([4], 0) ABR, COALESCE([5], 0) MAY,
COALESCE([6], 0) JUN,COALESCE([7], 0) JUL,COALESCE([8], 0) AGOS,
COALESCE([9], 0) SEP, COALESCE([10], 0) OCT,
COALESCE([11], 0) NOV, COALESCE([12], 0) DIC,
(COALESCE([1], 0) + COALESCE([2], 0) + COALESCE([3], 0) + COALESCE([4], 0) + COALESCE([5], 0) + COALESCE([6], 0) + COALESCE([7], 0) + COALESCE([8], 0) + COALESCE([9], 0) + COALESCE([10], 0) + COALESCE([11], 0) + COALESCE([12], 0)) as TOTAL
from (select ee.estacion as EESS,cv.ruccliente as RUC,cli.rscliente as CLIENTE,year(cv.fecproceso) as AÑO,month(cv.fecproceso) as Mes,cv.cantidad as Cantidad from cuadredevtas$ cv inner join clientes$ cli on cv.ruccliente = cli.ruccliente inner join eess$ ee on cv.cdlocal = ee.cdlocal) V
PIVOT(sum(Cantidad) FOR Mes IN ([1], [2], [3], [4], [5],[6],[7], [8], [9], [10], [11], [12])) as PT ) as o order by o.EESS,o.TOTAL desc
con esto me sale solo el top 3 de una estacion lo que quiero es que me muestre el top 3 de todas las estaciones como en la imagen ... se podra hacer ?? ... intente de muchas maneras pero no logro hacerlo por favor su ayuda.
2.-en la imagen se muestra los consumos en galones de enero a diciembre por cliente y al final los totaliza lo que necesito es ahora un promedio que es el consumo total por mes por cliente entre los dias del mes por ejemplo si mi data es del 21/06/2018 al 21/09/2018 con datos ficticios
total de galones /cantidad de dias
cliente 1 :
junio = 850/10=85.000
julio = 1500/31=48.387
agosto = 2500/31=80.645
septiembre = 1200/21 = 57.143
por favor necesito su ayuda me estoy reventando el cerebro tratando de hacerlo lo intente de muchas formas sin embargo no tengo suerte.
Valora esta pregunta


0