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

Restar totales de dos tablas diferentes

Estas en el tema de Restar totales de dos tablas diferentes en el foro de SQL Server en Foros del Web. Hola, Tengo dos tablas diferentes y en cada una de ellas diferentes registros con un código y un importe determinado. Quiero sumar todos los importes ...
  #1 (permalink)  
Antiguo 26/10/2014, 10:46
 
Fecha de Ingreso: octubre-2014
Mensajes: 1
Antigüedad: 9 años, 5 meses
Puntos: 0
Restar totales de dos tablas diferentes

Hola,

Tengo dos tablas diferentes y en cada una de ellas diferentes registros con un código y un importe determinado. Quiero sumar todos los importes con un mismo ID de cada una de las tablas, para posteriormente obtener la diferencia entre ellos.

Si hago:

Código SQL:
Ver original
  1. SELECT codigo,ROUND(SUM(importe),2) AS 'resultado' FROM tabla1 GROUP BY codigo

Código SQL:
Ver original
  1. SELECT codigo,ROUND(SUM(importe),2) AS 'resultado' FROM tabla2 GROUP BY codigo

Me devuelve correctamente los totales de cada una de las tablas. Pero cuando junto las consultas para restar ambos valores, el resultado que obtengo no es la resta correcta. Lo hago de la siguiente manera:

Código SQL:
Ver original
  1. SELECT t.codigo,ROUND(SUM(t.importe),2)-ROUND(SUM(d.importe),2) AS 'resultado' FROM tabla1 t
  2. LEFT JOIN tabla2 d ON t.codigo=d.codigo GROUP BY t.codigo;

Gracias
  #2 (permalink)  
Antiguo 27/10/2014, 07:05
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, 7 meses
Puntos: 774
Respuesta: Restar totales de dos tablas diferentes

Código SQL:
Ver original
  1. SELECT t1.codigo,t1.resultado-t2.resultado AS total FROM(
  2. SELECT codigo,ROUND(SUM(importe),2) AS 'resultado' FROM tabla1 GROUP BY codigo
  3. ) AS t1 LEFT JOIN
  4. (SELECT codigo,ROUND(SUM(importe),2) AS 'resultado' FROM tabla2 GROUP BY codigo) AS t2 ON t1.codigo=t2.codigo
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: join, sql, sum
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 18:16.