elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Restar dos registro en MYSQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Restar dos registro en MYSQL  (Leído 7,272 veces)
yoelrodguez

Desconectado Desconectado

Mensajes: 168


Es mejor, una amarga verdad que una dulce mentira


Ver Perfil WWW
Restar dos registro en MYSQL
« en: 8 Octubre 2014, 16:40 pm »

Hola a todos tengo el siguiente problema,   quiero restar el valor de dos registro distinto que tengo en mysql. Le pongo el ejemplo:

Tabla con el contenido
idValor
110
220
330
Lo que quiero hacer es restar 20 - 10 y guardar ese valor y después restar 30 - 20 y guardar ese valor y así sucesivamente.

Si alguien me pudiera ayudar


En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Restar dos registro en MYSQL
« Respuesta #1 en: 8 Octubre 2014, 16:47 pm »

Código
  1. UPDATE tabla SET campo3 = campo3 - campo2, campo2 = campo2 - campo1


En línea

yoelrodguez

Desconectado Desconectado

Mensajes: 168


Es mejor, una amarga verdad que una dulce mentira


Ver Perfil WWW
Re: Restar dos registro en MYSQL
« Respuesta #2 en: 8 Octubre 2014, 16:54 pm »

Estuve viendo tu código y muchas gracias pero  lo que pasa es que el nombre de la columna es el mismo siempre y el id me varía de acuerdo si se ha borrado o no el registro.
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Restar dos registro en MYSQL
« Respuesta #3 en: 8 Octubre 2014, 17:12 pm »

Ya, me doy cuenta que es una tabla de 2 columnas y lo que quieres es restar valores individuales de las hileras.

Yo creo que para eso vas a necesitar hacer un stored procedure y un loop.
En línea

yoelrodguez

Desconectado Desconectado

Mensajes: 168


Es mejor, una amarga verdad que una dulce mentira


Ver Perfil WWW
Re: Restar dos registro en MYSQL
« Respuesta #4 en: 8 Octubre 2014, 17:14 pm »

Tienes algún ejemplo que me facilites
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Restar dos registro en MYSQL
« Respuesta #5 en: 8 Octubre 2014, 18:03 pm »

Código
  1. DELIMITER //
  2.  
  3. DROP PROCEDURE `changeVal`
  4. CREATE PROCEDURE `changeVal`()
  5.  
  6. DECLARE rowCount INT;
  7. DECLARE oldVal INT;
  8.  
  9. SET count = (SELECT COUNT(*) FROM tabla);
  10.  
  11. WHILE (rowCount > index) DO
  12. SET oldVal = (SELECT valor FROM tabla WHERE id = rowCount-1);
  13. UPDATE tabla SET valor = valor - oldVal WHERE id = rowCount;
  14. SET rowCount = rowCount -1;
  15. END WHILE
  16. END //

Esto podria funcionar si se preserva el auto_increment. Sino... no se, quizas con limit pero no lo he probado:

Código
  1. DELIMITER //
  2.  
  3. DROP PROCEDURE `changeVal`
  4. CREATE PROCEDURE `changeVal`()
  5.  
  6. DECLARE oldVal INT;
  7. DECLARE myRow INT;
  8.  
  9. SET count = (SELECT COUNT(*) FROM tabla);
  10.  
  11. WHILE (count > index) DO
  12. SET oldVal = (SELECT valor FROM tabla LIMIT 1, count-2);
  13. SET myRow = (SELECT id FROM tabla LIMIT 1, count-1);
  14. UPDATE tabla SET valor = valor - oldVal WHERE id = myRow;
  15. SET count = count - 1;
  16. END WHILE
  17. END //
  18.  
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema actualizando un registro en MySQL
PHP
camdark 8 2,807 Último mensaje 14 Diciembre 2006, 21:58 pm
por camdark
Duda mysql: mover registro
PHP
[KMT] 1 2,806 Último mensaje 13 Julio 2007, 13:31 pm
por Sanjuu
seleccionar n registro en mysql
PHP
wizache 6 11,536 Último mensaje 3 Agosto 2007, 20:13 pm
por wizache
duplicado de registro en mysql
PHP
skybotter 1 3,321 Último mensaje 17 Junio 2011, 16:13 pm
por cassiani
restar de una tabla
Java
soy_nicanor 3 2,266 Último mensaje 6 Marzo 2015, 06:34 am
por soy_nicanor
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines