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

Comparar totales de 2 tablas y sacar la diferencia

Estas en el tema de Comparar totales de 2 tablas y sacar la diferencia en el foro de SQL Server en Foros del Web. Buenas noches foreros mi problema es el siguiente tengo dos tablas una llamda, presupuesto con los siguientes campos: Idprod, Presupuesto, Fecha otra llamada ventas con ...
  #1 (permalink)  
Antiguo 02/02/2012, 21:36
 
Fecha de Ingreso: agosto-2008
Mensajes: 142
Antigüedad: 15 años, 8 meses
Puntos: 2
Comparar totales de 2 tablas y sacar la diferencia

Buenas noches foreros mi problema es el siguiente

tengo dos tablas

una llamda, presupuesto con los siguientes campos:

Idprod, Presupuesto, Fecha

otra llamada ventas con los siguietes campos

IdProd, Ventas, Fecha

la idea es sacar las ventas por mes
y restar el presupuesto del mes por ejemplo

IdProd, ventas/presupesto, Mes
23 $ 27.00 Enero
23 $ 23.00 Enero
Direfencia

23 $ 4.00 Enero
  #2 (permalink)  
Antiguo 02/02/2012, 21:58
Avatar de ramirezmario7  
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 años, 2 meses
Puntos: 56
Respuesta: Comparar totales de 2 tablas y sacar la diferencia

Hola.
Mira si te sirve asi.

Código:
select
	p.idprod,v.Ventas,p.Presupuesto,(p.Presupuesto-v.Ventas) as diferencia,
	((CONVERT(char(3),DATENAME(M,p.fecha)))+'-'+(convert(char(4),DATEPART(Year,p.fecha)))) as Mes
from
	presupuestos p
inner join
	ventas v
on
	p.IdProd = v.IdProd and	
	DATEPART(m,p.fecha) = DATEPART(m,v.fecha) and
	DATEPART(YEAR,p.fecha) = DATEPART(YEAR,v.fecha)
Avisa si te sirve y si lo necesitas de otra forma.
__________________
Mario Ramírez
Desarrollador .NET MCTS
https://www.mcpvirtualbusinesscard.c...nteractivecard

Etiquetas: diferencia, fecha, tabla, tablas, totales, campos
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 13:00.