MOSTRAR MAX,MIN de varias columnas
Publicado por dasio (1 intervención) el 13/02/2018 16:03:24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
select nombre,Company,isnull([4],0) as 'ABRIL',isnull([2],0) as 'FEBRERO',isnull([9],0) as 'SETIEMBRE',
'TOTAL' = (isnull([4],0)+isnull([2],0)+isnull([9],0)),PROMEDIO = ((isnull([4],0)+isnull([2],0)+isnull([9],0)))/3,
'MAXIMO' = (CASE WHEN isnull([4],0) > isnull([2],0) AND isnull([4],0) > isnull([9],0) THEN isnull([4],0) ELSE
CASE WHEN isnull([2],0) > isnull([4],0) AND isnull([2],0) > isnull([4],0) THEN isnull([2],0) ELSE
CASE WHEN isnull([9],0) > isnull([4],0) AND isnull([9],0) > isnull([2],0) THEN isnull([9],0) ELSE 0
END END END)
from
(select e.firstname 'nombre',c.CompanyName 'Company',od.UnitPrice 'CANTIDAD'
,DATEPART(MONTH,O.OrderDate) as DATA_MES
from Employees e,Customers c,orders o,[Order Details] od
where
o.CustomerID = c.CustomerID and
o.EmployeeID = e.EmployeeID and
od.OrderID = o.OrderID
group by e.firstname,c.CompanyName,od.UnitPrice,O.OrderDate
) AS MESTABLE
PIVOT(
SUM(CANTIDAD)
FOR DATA_MES IN ([4], [2], [9])
)AS PIV_MES
Alguien sabe otra forma quizás más simplificada de hacerlo?
Valora esta pregunta
0