SQL Server - Sacar Datos de una columna

 
Vista:

Sacar Datos de una columna

Publicado por Hugo Rojas (1 intervención) el 26/02/2015 00:11:10
Hola!

Que tal

Tengo un problema, tengo una tabla en sql en la cual alimentamos una tabla con diferentes archivos de excel, y en una misma columna tenemos varios años. Se había esta haciendo consultas sobre el año 2014, pero ahora requerimos hacer un comparativo entre Enero de 2014 y enero de 2015 y no sé como hacer dicha consulta. Lo que hice en un principio es esto:

Select Sum(VTA_VALOR) as Tl_Vta_Valor, Mes, Año
from COMEXA where Año > 2013 group by Mes, Año

y el out put es :

MES | Tl_Vta_Valor
|
ENE |312341234
FEB |12341234123
MAR |123412341234
... .... ...

Ahora necesito que se genere la columna de las ventas de Enero de 2015 .
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

Sacar Datos de una columna

Publicado por Isaias (4558 intervenciones) el 26/02/2015 00:23:26
SELECT
SUM(CASE WHEN Año = 2014 AND MES = 1 THEN Tl_Vta_Valor END) AS ENERO2014,
SUM(CASE WHEN Año = 2015 AND MES = 1 THEN Tl_Vta_Valor END) AS ENERO2015
FROM COMEXA where Año > 2013
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
sin imagen de perfil
Val: 9
Ha disminuido su posición en 8 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Sacar Datos de una columna

Publicado por Hugo QN (19 intervenciones) el 05/03/2015 00:22:24
Hola.
suponiendo que tu tabla tiene una estructura como la que sigue y guarda datos como se muestra.

año|prod|mes|vta_valor

2013|P0003|ENE|23458
2013|P0003|FEB|1234
2013|P0003|MAR|32145
2013|P0003|n|....
2013|P0003|DIC|654312
2014|P0001|ENE|31341
2014|P0001|FEB|3215
2014|P0001|MAR|43215
2014|P0001|n|....
2014|P0001|DIC|759541
2014|P0004|ENE|25439
2014|P0004|FEB|2345
2014|P0004|MAR|41754
2014|P0004|n|....
2014|P0004|DIC|697630
2015|P0001|ENE|14539
2015|P0001|FEB|2572
2015|P0001|MAR|39324
2015|P0001|n|....
2015|P0001|DIC|596542
2015|P0002|ENE|43320
2015|P0002|FEB|1975
2015|P0002|MAR|42532
2015|P0002|n|....
2015|P0002|DIC|687437

SELECT mes, SUM(CASE año WHEN 2014 THEN Vta_Valor ELSE 0 END) AS Tl_Vta_Valor2014,
SUM(CASE año WHEN 2015 THEN Vta_Valor ELSE 0 END) AS Tl_Vta_Valor2015
FROM COMEXA
WHERE año IN (2014, 2015)
AND mes = 'ENE'
GROUP BY mes

el resultado será algo parecido

MES|Tl_Vta_Valor2014|Tl_Vta_Valor2015
ENE|4040203.14|5295.54

saludos.
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