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

[SOLUCIONADO] Obtener valores, sumar y actualizar

Estas en el tema de Obtener valores, sumar y actualizar en el foro de Mysql en Foros del Web. Tengo el siguiente código, pero tengo un problema. Obtengo el valor de la columa "grupo" Creo 2 variables En variable1 obtengo los datos de "cantidad" ...
  #1 (permalink)  
Antiguo 20/09/2014, 12:18
 
Fecha de Ingreso: octubre-2013
Mensajes: 79
Antigüedad: 11 años
Puntos: 0
Pregunta Obtener valores, sumar y actualizar

Tengo el siguiente código, pero tengo un problema.
Obtengo el valor de la columa "grupo"
Creo 2 variables
En variable1 obtengo los datos de "cantidad" del grupo
En variable 2 asigno un valor "1"
Variable 3 Realizo una suma de la variable 1 y variable 2
actualizo la base de datos con los datos.

El error que tengo es de que cuando actualizo me setea todos los campos con el mismo valor, es decir, no obtiene el valor de cada uno.

OJO: esta operacion la realizo si todo si los campos son del mismo grupo.

Código MySQL:
Ver original
  1. SELECT * FROM Cuenta WHERE Gpo='$GpoA'
Ejemplo de lo que deseo hacer:
Consulta/ suma +1 = actualizo base de datos con el tota de cada uno.
1 + 1 = 2
2 + 1 = 3
3 + 1 = 4


Ejemplo de lo que hace:
Consulta/ suma +1 = actualizo base de datos con mismo total
1 + 1 = 2
2 + 1 = 2
3 + 1 = 2

Código MySQL:
Ver original
  1. SELECT * FROM Cuenta WHERE Gpo='$GpoA'
Código MySQL:
Ver original
  1. UPDATE Cuentas SET Puntos='$totl' WHERE Gpo='$GpoA'

ayuda por favor, gracias.

Cita:
Editado: Código de programación no permitido en foros de Bases de Datos.
Leer las normas del foro, por favor.

Última edición por gnzsoloyo; 20/09/2014 a las 17:27
  #2 (permalink)  
Antiguo 21/09/2014, 07:38
Avatar de junior1920  
Fecha de Ingreso: noviembre-2010
Ubicación: Tumán
Mensajes: 77
Antigüedad: 14 años
Puntos: 1
Respuesta: Obtener valores, sumar y actualizar

Cita:
Iniciado por linuxchucho Ver Mensaje
Tengo el siguiente código, pero tengo un problema.
Obtengo el valor de la columa "grupo"
Creo 2 variables
En variable1 obtengo los datos de "cantidad" del grupo
En variable 2 asigno un valor "1"
Variable 3 Realizo una suma de la variable 1 y variable 2
actualizo la base de datos con los datos.

El error que tengo es de que cuando actualizo me setea todos los campos con el mismo valor, es decir, no obtiene el valor de cada uno.

OJO: esta operacion la realizo si todo si los campos son del mismo grupo.

Código MySQL:
Ver original
  1. SELECT * FROM Cuenta WHERE Gpo='$GpoA'
Ejemplo de lo que deseo hacer:
Consulta/ suma +1 = actualizo base de datos con el tota de cada uno.
1 + 1 = 2
2 + 1 = 3
3 + 1 = 4


Ejemplo de lo que hace:
Consulta/ suma +1 = actualizo base de datos con mismo total
1 + 1 = 2
2 + 1 = 2
3 + 1 = 2

Código MySQL:
Ver original
  1. SELECT * FROM Cuenta WHERE Gpo='$GpoA'
Código MySQL:
Ver original
  1. UPDATE Cuentas SET Puntos='$totl' WHERE Gpo='$GpoA'

ayuda por favor, gracias.
Muestra tu(s) tabla(s) para poder apreciar mejor....
  #3 (permalink)  
Antiguo 22/09/2014, 08:37
 
Fecha de Ingreso: octubre-2013
Mensajes: 79
Antigüedad: 11 años
Puntos: 0
Respuesta: Obtener valores, sumar y actualizar

Lo único que quisiera saber como puedo obtener el valor de cada usuario, sumarle +1 y actualizar el valor de cada uno. tienes alguna idea amigo?
  #4 (permalink)  
Antiguo 22/09/2014, 15:51
 
Fecha de Ingreso: septiembre-2014
Ubicación: Santiago, CL
Mensajes: 2
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Obtener valores, sumar y actualizar

Asumo que en la consulta 1, debo obtener a todos los miembros del grupo y que les sumarar 1 en puntos, de ser asi tu Update debe ser algo mas menos asi...


Código MySQL:
Ver original
  1. UPDATE Cuentas SET Puntos= Puntos+$totl WHERE Gpo='$GpoA'

si no es eso lo que buscas es que no entendi mucho tu ejemplo!...

Última edición por gnzsoloyo; 23/09/2014 a las 14:10
  #5 (permalink)  
Antiguo 23/09/2014, 14:03
 
Fecha de Ingreso: octubre-2013
Mensajes: 79
Antigüedad: 11 años
Puntos: 0
Respuesta: Obtener valores, sumar y actualizar

exacto, asi lo quiero y asi lo tengo.
la tabla esta de la siguiente forma:


TABLA ORIGINAL
NOMBRE| GRUPO| PUNTOS
JUAN| X | 1
PEPE| X | 3
CARLOS| X| 7

obtengo el grupo y los puntos, pero cuando intento sumarle +1 a todos los del grupo "X" no lo suma los remplaza por la suma.

RESULTADO OBTENIDO
NOMBRE| GRUPO| PUNTOS
JUAN| X | 2
PEPE| X| 2
CARLOS| X | 2


RESULTADO REQUERIDO
NOMBRE| GRUPO| PUNTOS
JUAN| X| 2
PEPE| X| 4
CARLOS| X| 8

EN RESUMEN requiero agregar +1 en PUNTOS a todos los del GRUPO "X"

Gracias amigo, espero tus comentarios.

Última edición por linuxchucho; 23/09/2014 a las 14:09
  #6 (permalink)  
Antiguo 23/09/2014, 16:26
Avatar de junior1920  
Fecha de Ingreso: noviembre-2010
Ubicación: Tumán
Mensajes: 77
Antigüedad: 14 años
Puntos: 1
Información Respuesta: Obtener valores, sumar y actualizar

Cita:
Iniciado por linuxchucho Ver Mensaje
exacto, asi lo quiero y asi lo tengo.
la tabla esta de la siguiente forma:


TABLA ORIGINAL
NOMBRE| GRUPO| PUNTOS
JUAN| X | 1
PEPE| X | 3
CARLOS| X| 7

obtengo el grupo y los puntos, pero cuando intento sumarle +1 a todos los del grupo "X" no lo suma los remplaza por la suma.

RESULTADO OBTENIDO
NOMBRE| GRUPO| PUNTOS
JUAN| X | 2
PEPE| X| 2
CARLOS| X | 2


RESULTADO REQUERIDO
NOMBRE| GRUPO| PUNTOS
JUAN| X| 2
PEPE| X| 4
CARLOS| X| 8

EN RESUMEN requiero agregar +1 en PUNTOS a todos los del GRUPO "X"

Gracias amigo, espero tus comentarios.

Estimado:
suponiendo que tu tabla se llama prueba:

Código MySQL:
Ver original
  1. SELECT idpru,nombre,grupo,punto FROM prueba
  2. GROUP BY idpru,grupo WITH ROLLUP FOR UPDATE;
  3. UPDATE prueba SET punto=punto+1

Si quieres le puedes agregar un Where para que te haga la actualización por grupo. Lo que hice es que a cada grupo le suma+1 a los puntos.
Saludos.

Última edición por junior1920; 23/09/2014 a las 17:02

Etiquetas: campo, select, sql
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:01.