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

Sumar 2 tablas y restar el resultado

Estas en el tema de Sumar 2 tablas y restar el resultado en el foro de Mysql en Foros del Web. Yo tengo 2 tablas con los siguientes datos. Tabla - 1 Sumando el campo entrego= 3.7000 Sumando el campo total = 46.000 Ahora el resultado ...
  #1 (permalink)  
Antiguo 04/08/2011, 10:00
Avatar de arielenter  
Fecha de Ingreso: abril-2009
Mensajes: 75
Antigüedad: 15 años
Puntos: 2
Pregunta Sumar 2 tablas y restar el resultado

Yo tengo 2 tablas con los siguientes datos.

Tabla - 1



Sumando el campo entrego= 3.7000




Sumando el campo total = 46.000


Ahora el resultado de cada tabla quiero restar, o sea: 46.000 - 3.7000 = 9.000 este resultado necesito sacar.

Última edición por arielenter; 04/08/2011 a las 13:35
  #2 (permalink)  
Antiguo 04/08/2011, 13:41
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Sumar 2 tablas y restar el resultado

Saludos

Veo que tienes algo mal en tu sentencia ya que si la suma total es 37.000 por que te da un valor mayor cuando filtras por nfactura?... Podrías postear tu sentencia, para saber como la llevas hasta el momento!!
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 04/08/2011, 14:52
Avatar de arielenter  
Fecha de Ingreso: abril-2009
Mensajes: 75
Antigüedad: 15 años
Puntos: 2
Respuesta: Sumar 2 tablas y restar el resultado

Cita:
Iniciado por Nano_ Ver Mensaje
Saludos

Veo que tienes algo mal en tu sentencia ya que si la suma total es 37.000 por que te da un valor mayor cuando filtras por nfactura?... Podrías postear tu sentencia, para saber como la llevas hasta el momento!!
Gracias por responder, pero yo no estoy filtrando por factura solo ago el filtro por el estado. Yo quiero sumar todas las facturas de acuerdo al filtro de cedula y estado.
  #4 (permalink)  
Antiguo 04/08/2011, 16:52
 
Fecha de Ingreso: abril-2008
Ubicación: Santa Fe, Argentina
Mensajes: 41
Antigüedad: 16 años
Puntos: 14
Respuesta: Sumar 2 tablas y restar el resultado

Código MySQL:
Ver original
  1. mysql> SELECT * FROM restar; SELECT * FROM saldo;
  2. +----------+---------+------------+---------+
  3. | nfactura | cedula  | nombre     | entrego |
  4. +----------+---------+------------+---------+
  5. |      133 | 3230148 | ARIEL DIAZ |   15000 |
  6. |      133 | 3230148 | ARIEL DIAZ |    5000 |
  7. |      133 | 3230148 | ARIEL DIAZ |   10000 |
  8. |      133 | 3230148 | ARIEL DIAZ |    5000 |
  9. |      134 | 3230148 | ARIEL DIAZ |    1000 |
  10. |      134 | 3230148 | ARIEL DIAZ |    1000 |
  11. +----------+---------+------------+---------+
  12.  
  13. +----------+---------+------------+-------+
  14. | nfactura | cedula  | nombre     | total |
  15. +----------+---------+------------+-------+
  16. |      133 | 3230148 | ARIEL DIAZ | 40000 |
  17. |      134 | 3230148 | ARIEL DIAZ |  6000 |
  18. +----------+---------+------------+-------+

Obtenemos el valor base

Código MySQL:
Ver original
  1. mysql> SELECT sum(total) FROM saldo;
  2. +------------+
  3. | sum(total) |
  4. +------------+
  5. |      46000 |
  6. +------------+

Y el valor que se le va a restar

Código MySQL:
Ver original
  1. mysql> SELECT SUM(entrego) FROM restar;
  2. +--------------+
  3. | SUM(entrego) |
  4. +--------------+
  5. |        37000 |
  6. +--------------+

Ahora, operar con estos dos números no relacionados en nada ubicados en dos tablas distintas es un poco complicado en cuanto a las relaciones, sería mucho mejor obtener los 2 valores y operarlos con un lenguaje de programación, pero aún así es posible con MySQL.

Estoy seguro de que esta no debe ser la mejor manera, tal vez alguien pueda corregirme con algo más optimizado

Código MySQL:
Ver original
  1. mysql> SELECT (sum(total) - entrego) AS resultado FROM (SELECT total, sum(entrego) AS entrego FROM saldo, restar GROUP BY total) AS t1;
  2. +-----------+
  3. | resultado |
  4. +-----------+
  5. |      9000 |
  6. +-----------+

Última edición por Henkka; 04/08/2011 a las 17:51
  #5 (permalink)  
Antiguo 05/08/2011, 09:40
Avatar de arielenter  
Fecha de Ingreso: abril-2009
Mensajes: 75
Antigüedad: 15 años
Puntos: 2
De acuerdo Respuesta: Sumar 2 tablas y restar el resultado

Muchas gracias por responder Henkka me resulto a la perfección. Pero también encontré otra forma dejo acá por si le sirve a alguien.

Código MySQL:
Ver original
  1. SELECT DISTINCT (SELECT SUM(total) FROM alquiler
  2. WHERE cedula='3230148' AND estado='DEBE')
  3. -(SELECT SUM(entrego) FROM credito_huesped
  4. WHERE cedula='3230148' AND estado='DEBE')
  5. AS xResultado FROM alquiler, credito_huesped

Etiquetas: restar, tabla, tablas, resultados
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 08:54.