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

Sumar datos de dos tablas en la misma BD

Estas en el tema de Sumar datos de dos tablas en la misma BD en el foro de Mysql en Foros del Web. HOLA a todos me encantaria que me ayudaran con este problema, soy nuevo en esto del PHP y MySQL asi que me encantaria aprender, mas ...
  #1 (permalink)  
Antiguo 10/04/2009, 20:51
 
Fecha de Ingreso: enero-2009
Mensajes: 4
Antigüedad: 15 años, 3 meses
Puntos: 0
Sumar datos de dos tablas en la misma BD

HOLA a todos me encantaria que me ayudaran con este problema, soy nuevo en esto del PHP y MySQL asi que me encantaria aprender, mas de lo que ya lo he hecho con ustedes.

este es mi dilema

tengo tres tablas

estado (saldopen,interesaldo,totalpendiente)

pagos (fecha,recibo,valor)

cobro (cuota,parq,otros,totalpagar)

la idea es el al total pendiente se le reste el valor que yo inserte en valor, y que me sume cuota,parq,otros y total pendiente mas el nuevo valor de total pendiente

asi que esto seria asi
total pendiente 150000
valor 50000

cuota 150000 + parq 50000 + otros 55000 + (total pendiente 150000 - valor 50000) = 355.000

espero que me puedan ayudar para ver cual es el mejor metodo si los hago en las tres tablas diferentes o en una sola... si es con codigo PHP o en Mysql


gracias--
  #2 (permalink)  
Antiguo 12/04/2009, 01:35
Avatar de pacmanaman  
Fecha de Ingreso: marzo-2009
Mensajes: 84
Antigüedad: 15 años, 1 mes
Puntos: 3
Respuesta: Sumar datos de dos tablas en la misma BD

select
c.cuota + c.parq + c.otros + (e.totalpendiente - p.valor) as Resultado,
from
estado as e,
pagos as p,
cobro as c


select
c.cuota + c.parq + c.otros + (e.totalpendiente - p.valor) as Resultado,
from
estado as e
join pagos as p on p.id = e.id
join cobro as c on c.id = e.id

El tema es que cada tabla debe tener su correspondiente referencia para poder hacer el join!
__________________
(<++
  #3 (permalink)  
Antiguo 12/04/2009, 14:29
 
Fecha de Ingreso: enero-2009
Mensajes: 4
Antigüedad: 15 años, 3 meses
Puntos: 0
De acuerdo Respuesta: Sumar datos de dos tablas en la misma BD

Hola gracias.. no entiendo muy bien lo que intentas explicarme pero bueno por eso te copia las tablas para ver si me puedo hacer entender

CREATE TABLE `estado` (
`id` int(11) NOT NULL auto_increment,
`fecha` varchar(10) NOT NULL,
`unidad` varchar(3) NOT NULL,
`propietario` varchar(80) NOT NULL,
`saldo` varchar(2) NOT NULL,
`concepto` varchar(90) NOT NULL,
`saldopen` int(8) NOT NULL,
`interesaldo` int(8) NOT NULL,
`totalpen` int(8) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `unidad` (`unidad`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=16 ;


CREATE TABLE `pagos` (
`fecha` varchar(10) NOT NULL,
`unidad` varchar(4) NOT NULL,
`propietario` varchar(60) NOT NULL,
`recibo` varchar(6) NOT NULL,
`valor` int(8) NOT NULL,
`observacion` varchar(90) NOT NULL,
PRIMARY KEY (`unidad`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


CREATE TABLE `cobros` (
`fecha` varchar(10) NOT NULL,
`unidad` varchar(4) NOT NULL,
`propietario` varchar(60) NOT NULL,
`saldoant` int(8) NOT NULL,
`cuotadm` int(8) NOT NULL,
`parq` int(8) NOT NULL,
`otros` int(8) NOT NULL,
`total` int(8) NOT NULL,
PRIMARY KEY (`unidad`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


entonces sobre estas tablas es que se hacen las operaciones

Entonces hay un saldo de 150000 + unos interes 7500 para un total de 157500 operacion que se hace perfecto se inserta y graba en esta tabla

ahora un cliente hace un abono de 50000 a ese saldo pendiente de 157500 el cuel se registra perfectamente en otra tabla que se llama pagos

para que ahora el nuevo saldop pendiente sea de 100000 y de una vez se grabe en la tabla estado

para la tabla tres (cobors) lo que sucede es que toma el saldo pendiente el cual debe ser el actualizado despues de cada pago o abono (saldo ant) y le suma cuota admin + parq + otros, los cuales son valores que le ingresan a traves de un insert o que se se pueden generar automaticamente al darle clic en un icono que se llame geenrar cobro


yo se que soy un poco canson con este tema pero es que no entiendo que debo hacer si manejarlos asi en ls tres talbas diferentes, hacer las operaciones con MYSQL o con PHP no se.. porfa les agradezco la ayuda gracias
  #4 (permalink)  
Antiguo 12/04/2009, 15:02
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Sumar datos de dos tablas en la misma BD

Lo que te plantea pacmanaman es para mostrar el resultado de la operación, pero eso no va a tener influencias en tus tablas ni datos.

Según te entiendo, lo que quieres es que se realicen varias acciones en tus tablas, al momento de un cliente hacer un abono a determinada deuda.
Para esto, se me ocurren 3 opciones.

1. Crea un store procedure en la que ejecute tus operaciones cuando un cliente realice un abono.

2. Maneja estos eventos con triggers.

3. Realiza todas las operaciones desde php.

Información de store procedures
http://dev.mysql.com/doc/refman/5.0/...rocedures.html
Información de triggers
http://dev.mysql.com/doc/refman/5.0/es/triggers.html

Cabe anotar que tanto los store procedures como los triggers están a partir de la versión 5. Si tienes una versión anterior, consideraría la posibilidad de hacerlo en php.

Un saludo
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 12/04/2009, 16:42
 
Fecha de Ingreso: enero-2009
Mensajes: 4
Antigüedad: 15 años, 3 meses
Puntos: 0
De acuerdo Respuesta: Sumar datos de dos tablas en la misma BD

Hola gracias me sirvio muchisimo lo que me indicaste...

gracias

Huesos .. podrias escribirme a mi email.. andresforix@msn para ver si me puedes ayudar... con otro tema.. gracias
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 21:41.