SQL Server - Uso de case when

 
Vista:
sin imagen de perfil
Val: 4
Ha aumentado su posición en 7 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Uso de case when

Publicado por Elías (3 intervenciones) el 09/08/2018 01:32:13
Buenas tardes a todos.

Tengo una tabla en la que descargo cantidades en 2 monedas M.Nacional (tipo_moneda=1) y M.Extranjera (tipo_moneda=2), para grupos de gastos de un presupuesto personal. Los grupos de gasto son Vivienda, Consumo y Vechículo. El usuario puede tener gastos de para ambas monedas en un mismo grupo.

Quiero poder presentarlo como una matriz o tabla pivote con case when, con una tasa de cambio=2 ,algo parecido a esto:

Grupo M.Nacional M.Extranjera Total
Vivienda 1000 800 2600
Consumo 1500 100 1700
Vehículo 2500 150 2800


Lo que tengo actualmente en la tabla es
Grupo, Tipo_moneda, saldo.

Hasta el ,momento sólo he logrado presentar
Grupo M.Nacional M.Extranjera total
Vivienda 1000 0 1000
Vivienda 0 800 800
Consumo 1500 0 1500
Consumo 0 100 100
Vehículo 2500 0 2500
Vehículo 0 150 150
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
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Uso de case when

Publicado por Isaias (4558 intervenciones) el 09/08/2018 17:10:25
Elias, una duda, ¿porque quiere hacerlo con CASE o PIVOT?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CREATE TABLE Gastos (Grupo varchar(50), MNacional money, MExtranjera money)
INSERT INTO Gastos VALUES(
'Vivienda', 1000, 0),
('Vivienda', 0, 800),
('Consumo', 1500, 0),
('Consumo', 0, 100),
('Vehículo', 2500,0),
('Vehículo', 0, 150)
 
 
SELECT Grupo,
SUM(MNacional) AS MNacional,
SUM(MExtranjera) AS MExtranjera,
SUM(MNacional + MExtranjera) AS Total
FROM Gastos
GROUP BY Grupo


Captura
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