Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

balance por año en SQL 2008

Estas en el tema de balance por año en SQL 2008 en el foro de SQL Server en Foros del Web. buenos dias amigos del Foro, estoy tratano de hacer un balance de gastos en sql y lo he logrado pero he echo uchas consultas en ...
  #1 (permalink)  
Antiguo 14/08/2013, 09:10
Avatar de elhombredeblanko  
Fecha de Ingreso: junio-2011
Ubicación: México Lindo y Querido
Mensajes: 212
Antigüedad: 12 años, 10 meses
Puntos: 2
balance por año en SQL 2008

buenos dias amigos del Foro, estoy tratano de hacer un balance
de gastos en sql y lo he logrado pero he echo uchas consultas en una
y me preguntaba si alguien sabe como hacer la consulta mas sencilla o que me la entregue de otra manera,

tengo una tabla con los campos de
descripcion, gasto, fecha, movimiento

y quiero un balance que me diga el total por cada mes
de ingresos, egresos y balance

SELECT SUM(precio) as [I Ene],
(select SUM(precio) from t_Movimiento where tipoMovimiento = 'E' and MONTH(fecha) = 01) as [E Ene],

Código SQL:
Ver original
  1. (SELECT SUM(precio) FROM t_Movimiento WHERE tipoMovimiento IN ('I', 'P') AND MONTH(fecha) = 02) AS [I Feb],
  2. (SELECT SUM(precio) FROM t_Movimiento WHERE tipoMovimiento = 'E' AND MONTH(fecha) = 02) AS [E Feb]
  3. FROM t_Movimiento WHERE  tipoMovimiento IN ('I', 'P') AND estado = 1 AND MONTH(fecha) = 01

ese codigo tengo y me arroga la info bien pero en muchas columnas
alguien me tenga alguna idea mejor??

gracias de antemano amigos.

salu2
__________________
si siempre hay algo nuevo que aprender
  #2 (permalink)  
Antiguo 14/08/2013, 09:18
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: balance por año en SQL 2008

si todo es sobre la misma tabla, en lugar de hacer subquerys puedes hacer algo asi

Código SQL:
Ver original
  1. SELECT
  2. CASE WHEN MONTH(ene) ant tipomov='E' THEN SUM(1) END AS enero,
  3. CASE WHEN MONTH(feb) ant tipomov='E' THEN SUM(1) END AS feb
  4. FROM tabla
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 14/08/2013, 09:38
Avatar de elhombredeblanko  
Fecha de Ingreso: junio-2011
Ubicación: México Lindo y Querido
Mensajes: 212
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: balance por año en SQL 2008

como sacaria el total de INGRESOS y el total de EGRESOS y un balance
INGRESOS - EGRESOS con el case when? ... :O de cada mes
__________________
si siempre hay algo nuevo que aprender
  #4 (permalink)  
Antiguo 14/08/2013, 10:14
Avatar de elhombredeblanko  
Fecha de Ingreso: junio-2011
Ubicación: México Lindo y Querido
Mensajes: 212
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: balance por año en SQL 2008

esque ocupo sacar todo el año, para cada mes los ingresos y egresos
__________________
si siempre hay algo nuevo que aprender
  #5 (permalink)  
Antiguo 14/08/2013, 10:31
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: balance por año en SQL 2008

un pequeño ejemplo de tus datos y lo que quieres obtener ayudaria mucho :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #6 (permalink)  
Antiguo 14/08/2013, 10:39
Avatar de elhombredeblanko  
Fecha de Ingreso: junio-2011
Ubicación: México Lindo y Querido
Mensajes: 212
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: balance por año en SQL 2008

Código SQL:
Ver original
  1. mi tabla
  2. -----------------------
  3. descripcion
  4. fecha
  5. monto
  6. movimiento

quiero obtener la información que me resulte algo asi

...............Ingreso......Egreso.......Balance
Enero.......1000...........250.............750
Febre .......400............500............-100
AÑO..........1400.........750............650

gracias
__________________
si siempre hay algo nuevo que aprender

Etiquetas: año, balance, select, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:51.