SQL - ayuda con una consulta sql 2008

 
Vista:
sin imagen de perfil

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

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder